我正在尝试读取带有科学计数法的带有熊猫的csv文件。
当读取值时,它没有捕获真实的基础数字。当我重新调整数据用途时,真实值会丢失。
df = pd.read_csv('0_IDI_Submitter_out.csv')
我要保留的基本真实值如下:
INPUT: Extra 1
0 8921107
1 56300839420000
2 56207557000000
但是,熊猫把它读为
INPUT: Extra 1
0 8921107
1 5.63008E+13
2 5.62076E+13
如果我尝试编写新的csv或使用此数据,则值显示为:
INPUT: Extra 1
0 8921107
1 56300800000000
2 56207600000000
我如何让熊猫读取真实数字,而不是引起其错误转换的科学计数法?
答案 0 :(得分:1)
似乎无法重现您的问题,但这也许可以解决?
df = pd.read_csv('0_IDI_Submitter_out.csv', dtype={'INPUT: Extra 1':np.object_})
另外,检查数据框的dtypes:
result = df.dtypes
print(result)
答案 1 :(得分:0)
问题似乎是在Excel中打开一个CSV文件,其中包含大量数字或显示为大量数字的字符串(例如产品代码,SKU,UPC等)会自动转换为科学计数法。完成此操作后,您将必须手动进入Excel并重新设置格式,但尝试从Pandas进行操作似乎不可行,并且数据完整性也会丢失。
但是,如果我从未在Excel中打开文件并仅通过Pandas对其进行处理,那么一切都很好。同样,如果您纯粹在Excel中工作,那也不错。
我的最终结论是,在处理大量或字符串时,如产品代码或UPC一样,最好不要将大熊猫与Excel混合使用。作为替代方案,我刚刚开始将所有数据框保存为泡菜文件而不是csv。
希望对以后的所有人有帮助。
谢谢