正如标题所描述的,当我尝试从.csv文件导入数据时,pandas会自行对我的一个数据列进行重大修改。我的。csv文件大致如下所示:
Date, Price
2015-02-03 17:00:00, 20.95
2015-02-04 17:00:00, 20.927
2015-02-05 17:00:00, 21.322
2015-02-06 17:00:00, 22.158
...
当我尝试导入这个csv文件时,结果是这样的:
In[2]: fname01 = os.path.join("Data", "myData.csv")
dfMyData = pd.read_csv(fname02, usecols=["Date", "Price"], sep = ',')
print(dfMyData)
print(dfMyData.dtypes)
Out[2]:
Date Price
0 2015-02-03 17:00:00 2.095000e+01
1 2015-02-04 17:00:00 2.092700e+01
2 2015-02-05 17:00:00 2.132200e+01
3 2015-02-06 17:00:00 2.215800e+01
Date object
Price float64
dtype: object
正如您在Price列中看到的,pandas将小数点向左移动,并疯狂地处理其余的小数点。至少类型仍然是float64。谁能告诉我这里发生了什么,我该如何修复它?
感谢您的帮助。
Pandas以科学格式显示数字,一种方法是设置全局选项:
pd.set_option('display.float_format', lambda x: '%.5f' % x)
显示浮点数,该点后面有5位数字。请看这篇文章