如何解决熊猫数据框在浮点值上不一致
编辑:
舍入数据框浮点值可解决此问题:
value_float2 = 6.3
df_float3 = df[(df['D'].round(1) == value_float2)]
A B C D
3 bar three 3 6.3
原始问题
我正在尝试为特定列下的唯一值找到特定行。 问题是我在某些float值下获取Empty Dataframe。
示例数据框:
df = pd.DataFrame({'A': 'foo bar foo bar foo bar f foo'.split(),'B': 'one one two three two two one three'.split(),'C': np.arange(8),'D': np.arange(8) * 2.1})
哪个会吸引我:
A B C D
0 foo one 0 0.0
1 bar one 1 2.1
2 foo two 2 4.2
3 bar three 3 6.3
4 foo two 4 8.4
5 bar two 5 10.5
6 f one 6 12.6
7 foo three 7 14.7
当我在 D 列中寻找值 2.1 时,我得到的行正确:
value_float1 = 2.1
df_float1 = df[(df['D'] == value_float1)]
A B C D
1 bar one 1 2.1
但是对于一个不同的浮点值,例如 6.3 ,我得到一个空的数据框:
value_float2 = 6.3
df_float2 = df[(df['D'] == value_float2)]
Empty DataFrame
Columns: [A,B,C,D]
Index: []
任何人都可以帮助我修复它,或者至少说明正在发生的事情吗? 12.6和14.7也会发生这种情况。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。