次のような浮動小数点数値を含む CSV を読み取っています。
Bob,0.085
Alice,0.005
そしてデータフレームにインポートし、このデータフレームを新しい場所に書き込みます
df = pd.read_csv(orig)
df.to_csv(pandasfile)
これで次pandasfile
のようになります:
Bob,0.085000000000000006
Alice,0.0050000000000000001
何が起こったのでしょうか? float32 などの別の型にキャストする必要があるのでしょうか?
私は使用していますパンダ 0.9.0そしてナンピー 1.6.2。
ベストアンサー1
コメントで述べたように、これは一般的な浮動小数点の問題です。
ただし、float_format
キーワード of を使用してto_csv
非表示にすることができます。
df.to_csv('pandasfile.csv', float_format='%.3f')
または、0.0001 をゼロに丸めたくない場合は、次のようにします。
df.to_csv('pandasfile.csv', float_format='%g')
あなたに与えるもの:
Bob,0.085
Alice,0.005
出力ファイル内。
の説明については%g
、フォーマット仕様ミニ言語。