[英]Round decimals row-wise instead of column-wise in pandas
根据pandas.DataFrame.round
文档,我也可以按列决定舍入。 但是,没有关于按行舍入的内容。 例如,我有
A
count 1010.00009
measure 54.45678
average 0.50483
我怎么能做到
A
count 1010
measure 54.46
average 0.5048
当某些内容支持列但不支持索引时,您唯一的选择是转置...两次。
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
使用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
我们转置 DataFrame,然后将列舍入并再次转置。
df = df.T.round( { "row_name": 0, "row2" : 2, "row3" : 4 } ).T
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.