Python 具有精度但没有尾随0的圆形列
不重复,因为我在询问熊猫Python 具有精度但没有尾随0的圆形列,python,pandas,csv,rounding,Python,Pandas,Csv,Rounding,不重复,因为我在询问熊猫round() 我有一个dataframe,其中有些列带有数字。我跑 df = df.round(decimals=6) 这成功地截断了长小数,而不是15.36785699998正确地写入:15.367857,但我仍然得到1.0或16754.0,尾部为零 一旦运行pandasdf.round(),如何去掉所有列中的尾随零 我想将数据框保存为csv,并需要数据以我希望的方式显示 df = df.round(decimals=6).astype(object) 转换为对象
round()
我有一个dataframe
,其中有些列带有数字。我跑
df = df.round(decimals=6)
这成功地截断了长小数,而不是15.36785699998
正确地写入:15.367857
,但我仍然得到1.0
或16754.0
,尾部为零
一旦运行pandasdf.round()
,如何去掉所有列中的尾随零
我想将数据框保存为csv,并需要数据以我希望的方式显示
df = df.round(decimals=6).astype(object)
转换为对象
将允许混合表示。但是,请记住,从性能的角度来看,这不是很有用
哇!关于
fs['mycol']的讨论太多了。比如_type(str).str.replace('.0','','',')
,我甚至用它替换了texfile.readlines。。。在其他一切都完成之后。这太棒了!!您能解释一下为什么熊猫会以这种方式渲染数据类型对象系列中的整数浮点吗?这种行为有记录吗?如果不这样做的话,依赖它似乎是一件危险的事情(而转换成对象
纯粹解决代表性问题似乎是不可取的)。@MarkDickinson对“为什么”这一点不太了解。是的,我通常会添加关于性能的强制性免责声明,但对于这个问题,这没关系,因为我想将数据帧保存为csv,并且需要数据以显示我希望的方式。
,所以似乎这只是为了解决一个代表性问题,而不是其他问题。为什么在这里选择6?如果你只是想删除尾随的.0s怎么办?@excelguy我选择了6,因为OP选择了6(检查问题)
df
A B
0 0.149724 -0.770352
1 0.606370 -1.194557
2 10.000000 10.000000
3 10.000000 10.000000
4 0.843729 -1.571638
5 -0.427478 -2.028506
6 -0.583209 1.114279
7 -0.437896 0.929367
8 -1.025460 1.156107
9 0.535074 1.085753
df.round(6).astype(object)
A B
0 0.149724 -0.770352
1 0.60637 -1.19456
2 10 10
3 10 10
4 0.843729 -1.57164
5 -0.427478 -2.02851
6 -0.583209 1.11428
7 -0.437896 0.929367
8 -1.02546 1.15611
9 0.535074 1.08575