簡體   English   中英

在熊貓中按行而不是按列舍入小數

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

使用zipround (來自 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM