0

パンダの学習を始めたばかりで、非常に奇妙な動作に気付きました.csvファイルを読み書きすると、データフレームのセルの値が変更されます。

前:

64437311025 SMP 1   110.00  0.00    498.00  4174.3865   4243.59 4247.69 4424.62 4570.26 3874.36 4516.41 4412.31 4117.44 4215.38 4300.00 4433.85 4065.64 4394.36 1728.00 1675.00 1517.27 1363.23 0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0   0   0   0   0   0   0   0   0   0.00    0   0.00

発行後:

df = pd.read_csv(in_file, sep='\t')
df.to_csv(out_file, sep='\t')

私は得る:

1   64437311025 SMP 1   110.0   0.0 498.0   4174.3864999999996  4243.5900000000001  4247.6899999999996  4424.6199999999999  4570.2600000000002  3874.3600000000001  4516.4099999999999  4412.3100000000004  4117.4399999999996  4215.3800000000001  4300.0  4433.8500000000004  4065.6399999999999  4394.3599999999997  1728.0  1675.0  1517.27 1363.23 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0   0.0 0   0.0

私が間違っていることについての提案に感謝します。Python(2.7.3)の標準インストールと、ubuntu 12.10リポジトリ(0.8.0)のパンダを使用しています

編集: バグだと思います: https://github.com/pydata/pandas/issues/2069 user1827356 のおかげで to_csv メソッドに float_format 引数が見つかりましたが、それを機能させるには、新しいバージョンの pandas をインストールする必要がありました。 ubuntu 12.10 のデフォルト 0.8 パンダでは機能していなかったためです。今は大丈夫です。ありがとう!

4

2 に答える 2

1

例えば:

df.to_csv('pandasfile.csv', float_format='%.3f')
于 2013-10-24T12:57:17.200 に答える
1

出力 csv に表示される値は同じですが、精度が高くなっています。

于 2013-04-08T13:32:51.400 に答える