根据pandas.DataFrame.round
文档,我可以逐列决定舍入。但是,没有任何关于行方向舍入的文章。
例如,我有
A
count 1010.00009
measure 54.45678
average 0.50483
我怎么能做到
A
count 1010
measure 54.46
average 0.5048
答案 0 :(得分:3)
当某些内容支持列但不支持索引时,您唯一的选择是转置...两次。
df.T.round(decimals=dict(zip(df.index, [0, 2, 4]))).T
或者,
df.T.round(decimals=pd.Series([0, 2, 4], index=df.index)).T
最后添加.astype(object)
来电,我们有 -
A
count 1010
measure 54.46
average 0.5048
答案 1 :(得分:3)
使用zip
和round
(来自python),对于打印,我要添加astype(object)
df.A=[round(x,y) for x , y in zip(df.A,[0,2,4])]
df.astype(object)
A
count 1010
measure 54.46
average 0.5048
答案 2 :(得分:0)
我们转置DataFrame并四舍五入,然后再次转置。
df = df.T.round( { "row_name": 0, "row2" : 2, "row3" : 4 } ).T