Pandas 使用 loc 的浮点值问题

Pandas float value issues using loc

这对于 Pandas 习惯于浮动数字但一直在努力的用户来说可能是一个简单的问题,我非常感谢您的建议。

我无法检索我在使用 .loc 时保存到数据框中的值

请问有哪位大侠解释一下帮忙解决吗?谢谢!

dict = [{'me': 0.094092328767113}]
df = pandas.DataFrame(dict)
df['me']
Out[32]: 
0    0.094092328767113
Name: me, dtype: float64
df.loc[0,'me']
Out[33]: 0.094092328767113001

您可以使用基本的字符串格式 -

>>> '{:.15f}'.format(df.loc[0,'me'])
>>> '0.094092328767113'

这将导致字符串数据类型。此外,如果需要将 numpy 用作 -

,则可以将其转换为浮点数
>>> np.float64('{:.15f}'.format(df.loc[0,'me']))
>>> 0.094092328767113

最终修复归结为升级 Pandas 和 NumPy 的版本,正如 OP 在评论中确认的那样。