[英]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.