python - 使用 loc 的 Pandas 浮点值问题
问题描述
对于习惯于浮动数字的 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
正如 OP 在评论中确认的那样,最终修复归结为升级 Pandas 和 NumPy 的版本。
推荐阅读
- javascript - 从 Gmail 创建日历活动?
- r - 无法在 R Plotly 中将所有小提琴设置为相同的宽度
- amazon-web-services - Istio 重置 AWS/ELB 配置中手动配置的更改
- next.js - NextJS SSR页面标题中的next-head-count是什么意思?
- blazor - 将组件插入现有的 dom 树
- javascript - 如何一次运行多个设置超时?
- javascript - 得到'哦,快!:错误代码:内存不足'
- kruskal-wallis - Kruskal-Wallis 检验的正态假设
- java - Spring Boot 中的 Annotation Transactional
- google-sheets - 太大,无法导入