pandas round方法保留兩位小數的設置實現

pandas中可以使用round(n)方法返回 x 的小數點四舍五入到n個數字。簡潔的說就是,四舍五入的保留小數點後的幾個數字。round()不添加任何參數的時候,等同於round(0)就是取整。直接看例子:

import pandas as pd
import numpy as np
df_round = pd.DataFrame(np.random.random([3, 3]),
     columns=['A', 'B', 'C'], index=['one', 'two', 'three'])
df_round = df_round*10
print(df_round)
print(df_round.round(2))

我們經常需要對有浮點數的列需要保持精度,那麼在pandas中該如何實現呢?這裡提供一種方法,round方法

round常用用法有兩種方式:

1、傳入int,對所有列保持統一精度

>>> import numpy as np
>>> import pandas as pd
>>> df = pd.DataFrame([(.21, .32), (.01, .6), (.66, .03), (.21, .183)],columns=['dogs', 'cats'])
>>> df
   dogs   cats
0  0.21  0.320
1  0.01  0.600
2  0.66  0.030
3  0.21  0.183

# 統一保持2位小數
>>> df.round(2)
   dogs  cats
0  0.21  0.32
1  0.01  0.60
2  0.66  0.03
3  0.21  0.18

# 統一保持一位小數
>>> df.round(1)
   dogs  cats
0   0.2   0.3
1   0.0   0.6
2   0.7   0.0
3   0.2   0.2
>>> 

2、傳入dict,對指定列設置精度,key為列名,value為精度

# 指定列名設置精度,未指定的則保持原樣
>>> df.round({'dogs': 2})
   dogs   cats
0  0.21  0.320
1  0.01  0.600
2  0.66  0.030
3  0.21  0.183
# 兩列分別設置不同的精度
>>> df.round({'dogs':2, 'cats':1})
   dogs  cats
0  0.21   0.3
1  0.01   0.6
2  0.66   0.0
3  0.21   0.2

到此這篇關於pandas round方法保留兩位小數的設置實現的文章就介紹到這瞭,更多相關pandas round方法保留兩位小數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: