2017-04-14 69 views
0

我有熊貓系列,如:大熊貓據幀四捨五入一系列

tempDF['A'] = dfOld.cl 

其中.CL是一個字符串:

23.340000 
24.350000 
...... 

我想將它轉換爲浮動,然後輪至2位

tempDF['A'] = round(dfOld.cl.astype(float),2) 

輸出應該是:

23.34 
24.35 
..... 

這樣做的最好方法是什麼?

+2

做,當你運行你所提供的代碼,你會得到什麼,「tempDF [ 'A'] = ROUND(dfOld.cl.astype(浮動) ,2)「?該代碼看起來正確。 –

回答

1

可以使用pandas.Series.round功能來實現:

In [1]: import pandas as pd 

In [2]: dfOld = pd.DataFrame({'cl': ['0.014', '0.015', '0.016']}) 
dfOld.cl.apply(type).value_counts() # prove that the values are strings 

Out[2]: 
<type 'str'> 3 
dtype: int64 

In [3]: 
dfOld.cl.astype(float).round(decimals=2) 

Out[3]: 
0 0.01 
1 0.02 
2 0.02 
Name: cl, dtype: float64 
+0

順便說一句,如果你使用'jupyter-notebook',你可以鍵入'df.cl. '得到一個彈出列表,列出綁定到'Series'的所有方法,並且可以運行一個包含命令'dfOld.cl.round?'的單元來查看方法簽名。 – kjfl