首页 文章

Pandas to_csv导出在数据帧中给出错误的值

提问于
浏览
0

我正在使用熊猫,并已导入两个csv .

df1是

enter image description here

df2是

enter image description here

df2的数据类型是

enter image description here

当我在df1和df2上做一些操作时:

df3= pd.merge(df1, df2, how='left', on=['Origin City Code', 'DC'])

然后将其导出到csv

df3.to_csv("test.CSV")

那么“Volume”栏下所有值的总和与原始df2列下的值之和不匹配 . 事实上,df3的总和会更多 . 我认为问题是由于浮点数而出现的 . 但有什么方法可以解决它?我已经通过以下链接,但我的问题仍然没有答案 .

https://github.com/pydata/pandas/issues/2069

float64 with pandas to_csv

reading and writing csv in pandas changes cell values

Wrong decimal calculations with pandas

这是我正在使用的代码文件:https://www.dropbox.com/s/kjpnhl7qtojes92/sample.rar?dl=0

1 回答

  • 1

    我查看了你的文件,就像@root上面说的那样,在df1中 Origin City CodeDC 的组合并不是唯一的 . 例如,有两个记录 Origin City Code = GGN和 DC = ASA .

    如果要查看它,可以运行以下代码:

    df1[df1.duplicated(subset=['Origin City Code', 'DC'], keep=False)].sort_values(['Origin City Code', 'DC'])
    

    这是这个输出的头部:

    enter image description here

相关问题