Pandas read csv file with float values results in weird rounding and decimal digits

前端 未结 2 1153
独厮守ぢ
独厮守ぢ 2020-11-28 14:15

I have a csv file containing numerical values such as 1524.449677. There are always exactly 6 decimal places.

When I import the csv file (and other colu

2条回答
  •  伪装坚强ぢ
    2020-11-28 14:56

    I realise this is an old question, but maybe this will help someone else:

    I had a similar problem, but couldn't quite use the same solution. Unfortunately the float_precision option only exists when using the C engine and not with the python engine. So if you have to use the python engine for some other reason (for example because the C engine can't deal with regex literals as deliminators), this little "trick" worked for me:

    In the pd.read_csv arguments, define dtype='str' and then convert your dataframe to whatever dtype you want, e.g. df = df.astype('float64') .

    Bit of a hack, but it seems to work. If anyone has any suggestions on how to solve this in a better way, let me know.

提交回复
热议问题