3
私はパンダのデータフレームに読み込もうとしているテキストファイルに以下のフォーマットのファイルを持っています。パンダでread_csvを使用している間に精度が失われる
895|2015-4-23|19|10000|LA|0.4677978806|0.4773469340|0.4089938425|0.8224291972|0.8652525793|0.6829942860|0.5139162227|
あなたが入力ファイルの浮動小数点後整数がある見ることができるように。私はデータフレームにそれを読んしようとすると
df = pd.read_csv('mockup.txt',header=None,delimiter='|')
、私はどのように私は、入力ファイルに存在するような完全な精度を得ることができます
df[5].head()
0 0.467798
1 0.258165
2 0.860384
3 0.803388
4 0.249820
Name: 5, dtype: float64
最後の4つの整数を得ていないのですか?私は文字列としてキャストできないように実行する必要があるいくつかの行列演算を持っています。
私はdtype
について何かしなければならないと分かりましたが、私はそれをどこで使うべきかわかりません。
ありがとうございました。他に1人の新人質問があった。データがほとんど浮動小数点値であるときにread_csv()を使用している間、データフレームへの読み込みを高速化するための一般的な推奨事項はありますか? –
私は 'dtypes'、[see](http://stackoverflow.com/q/15210962/2901002)を試してみるといいと思います。 – jezrael
これは、純粋に*表示上の問題ではないことに注意する価値があります.Pandasを使用してデータフレームをCSVファイルに書き込んだり、再度読み込んだりすると、小さな浮遊結果のポイントエラー:Pandasは、スピードのために完全な精度を犠牲にする専用の10進 - バイナリコンバータを使用しています。 float_precision = 'round_trip''を 'read_csv'に渡すことでこれが修正されます。詳細については、[documentation](http://pandas.pydata.org/pandas-docs/stable/io.html#specifying-method-for-floating-point-conversion)を参照してください。 –