不重复,因为我问的是pandas round()
。
我有一个dataframe
,其中包含一些带数字的列。我跑
df = df.round(decimals=6)
成功截断了长小数,而不是15.36785699998
正确地写了15.367857
,但我仍然得到1.0
或16754.0
,后跟零。
一旦我运行了pandas df.round()
,如何摆脱所有列中的尾随零?
我想将数据帧保存为csv,并且需要数据来显示我希望的方式。
答案 0 :(得分:1)
df = df.round(decimals=6).astype(object)
转换为object
将允许混合表示。但是,请记住,从性能角度来看,这不是很有用。
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