2017-05-19 15 views
0

私は反復処理中のテキストデータからPandas DataFrameを作成しようとしています(これは、APIから多くのjson文字列をダンプしたものです)。Pandas DataFrameの型が自動的に設定されない

データの一部は小数です(例:0.00000001)。私は別のアプリのどこかでPython Decimal型を使っています。私はパンダがこれらの小数であることを認識させる方法を知らない。最初にDecimalオブジェクトを作成するか、文字列からDataFrameを作成するかにかかわらず、Pandasは一般的なobject列を作成します。異なるフォーマットである他の列があります。

import pandas as pd 
df = pd.DataFrame([Decimal('0.01'),]) 
df.dtypes 

出力::簡単な例取るために

0 object 
dtype: object 

私はdecimal型を使用する必要がありますか。根本的に何かを誤解していますか?

ありがとうございました。

答えて

0

をチェックDecimalためtypeが必要:

from decimal import Decimal 
import pandas as pd 
df = pd.DataFrame([Decimal('0.01'),]) 
print (df) 
     0 
0 0.01 

print (type(df.loc[0, 0])) 
<class 'decimal.Decimal'> 

pandasfloatintなどの一部だけdtypesを認識し...、他のすべてはobject秒(string秒、list秒、Decimal秒)です。

あなたはrelativeの回答を確認できると思います。

+0

ああ、それは問題ではありません。私は一日中頭を打つことができたかもしれない - あなたの助けに感謝の負荷! – Ludo

+0

うれしいことができます。素敵な週末! – jezrael

関連する問題