python - 使用 pd.Dataframe.values.tolist 时的值不精确
问题描述
将 pd.DataFrame 转换为嵌套列表时,某些值不精确。
pd.DataFrame 示例行:
1.0 -3.0 -3.0 0.01 -3.0 -1.0
此行的 pd.DataFrame.values.tolist() :
[1.0, -3.0, -3.0, 0.010000000000000009, -3.0, -1.0]
如何解释和避免这种情况?
解决方案
这是因为这是原始值。当您显示 pd.DataFrame 时,它会四舍五入:
df = pd.DataFrame({'a':[1.0, -3.0, -3.0, 0.010000000000000009, -3.0, -1.0]})
a
0 1.00
1 -3.00
2 -3.00
3 0.01
4 -3.00
5 -1.00
df.values.tolist()
# [[1.0], [-3.0], [-3.0], [0.010000000000000009], [-3.0], [-1.0]]
所以这不是 tolist() 的问题。将数字四舍五入的是 pd.DataFrame。
用于pandas.set_option("display.precision", x)
设置 DataFrame 的显示精度。
推荐阅读
- python - 所有图的简单路径的独特组合
- html - recv() 循环将最后一个“块”两次添加到缓冲区
- javascript - “视频播放器正在加载”“这是一个模态窗口”-如何在 react videojs .m3u8 流中删除不需要的文本
- javascript - 如何通过它的地图属性值获取密钥
- javascript - jquery在按名称属性获取值的问题
- shell - 如果第 5 列有连字符,则从文件中删除该行
- sql - 使用两个不同的外键连接两个表以获得相同的字段
- mysql - 通过控制台选择数据时不需要的注销
- haskell - 与也许 | 只是数据类型,不能构造无限类型
- java - 如何使用 Collectors groupingBy 将频率映射到新对象?