2017-04-14 9 views
0

シリーズ丸めDATAFRAME 2ヶ所にパンダは私のようなパンダシリーズ持っ

23.340000 
24.350000 
...... 

私はfloat型に変換したいと思いますが、その後のラウンド

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

出力は次のようになります。

23.34 
24.35 
..... 

これを行う最善の方法は何ですか?

+2

を、「tempDF [ 『A』] =ラウンド(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

関連する問題