我正在尝试搜索pandas数据帧以查找单个值.我正在搜索的数据帧列是float64类型.
这是我想要的一个工作示例,其数据框的类型为int64.
myseries = pd.Series([1,4,0,7,5], index=[0,1,2,3,4])
myseries
Run Code Online (Sandbox Code Playgroud)
输出如下:
0 1
1 4
2 0
3 7
4 5
dtype: int64
Run Code Online (Sandbox Code Playgroud)
现在搜索:
myseries == 4
Run Code Online (Sandbox Code Playgroud)
结果:
0 False
1 True
2 False
3 False
4 False
dtype: bool
Run Code Online (Sandbox Code Playgroud)
这是我的数据样本.
df['difference']
Run Code Online (Sandbox Code Playgroud)
结果
0 -2.979296
1 -0.423903
2 0.396515
...
48 0.450493
49 -1.216324
Name: priceDiff1, dtype: float64
Run Code Online (Sandbox Code Playgroud)
如您所见,它的类型为float64.现在这是问题所在.如果我复制第2行的值,并像之前一样创建条件语句,则不会返回True.
df['difference'] == 0.396515
Run Code Online (Sandbox Code Playgroud)
产量
0 False
1 False
2 False
...
48 False
49 False
Name: priceDiff1, dtype: bool
Run Code Online (Sandbox Code Playgroud)
第2行应为True.在这个问题上对此问题的任何帮助都会很棒.我认为正在发生的是,我的查询没有将类型设置为float64,并且可能假设它是一个不同的类型.我已经通过将列类型从float64向下转换为float32进行了测试,没有运气.