0

Python用のパンダを使用して、CSVファイルから次を読んでいます:

2007-03-30 16:34:15.778000,1.96805,1.968,2.4,0.8

使用して

 df = pd.read_csv(txtFileName, parse_dates=('datetime'), index_col=0, header=None,
                   names=[ 'datetime','bid', 'ask', 'bidvolume', 'askvolume'])

df.dtypes与える;

bid          float64
ask          float64
bidvolume    float64
askvolume    float64
dtype: object

次に、次を使用してデータを別のcsvに書き出します

df.to_csv(txtFileName2,header=False)

行は次のように表示されます。

2007-03-30 16:34:15.778000,1.96805,1.9680000000000002,2.4,0.8

これは、フロートの仕組みが原因で発生することを理解しています。

これを防ぐには、どのデータ型を使用すればよいですか?

bidask小数点以下5桁まで必要です

bidVolume小数点以下1桁までaskVolume必要です

4

1 に答える 1

2

パラメータを使用してfloat_format、float 値を好きなようにフォーマットできます。ドキュメントを参照してください。

例:

df.to_csv('your_file', float_format='%.4f')
于 2013-09-15T15:55:37.427 に答える