【发布时间】:2017-02-21 12:01:24
【问题描述】:
我有一个人 (cal2) 的每日 (day) 卡路里摄入量数据,这些数据来自 Stata dta 文件。
我运行下面的代码:
import pandas as pd
import numpy as np
import matplotlib.pylab as plt
from pandas import read_csv
from matplotlib.pylab import rcParams
d = pd.read_stata('time_series_calories.dta', preserve_dtypes=True,
index = 'day', convert_dates=True)
print(d.dtypes)
print(d.shape)
print(d.index)
print(d.head)
plt.plot(d)
这是数据的样子:
0 2002-01-10 3668.433350
1 2002-01-11 3652.249756
2 2002-01-12 3647.866211
3 2002-01-13 3646.684326
4 2002-01-14 3661.941406
5 2002-01-15 3656.951660
印刷品显示以下内容:
day datetime64[ns]
cal2 float32
dtype: object
(251, 2)
Int64Index([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
...
241, 242, 243, 244, 245, 246, 247, 248, 249, 250],
dtype='int64', length=251)
这就是问题所在 - 数据应标识为 dtype='datatime64[ns]'。
但是,显然不是。为什么不呢?
【问题讨论】:
-
除非我们看到数据是什么样子,否则无法提供帮助。只需要几行。
-
当然!已编辑。谢谢!
-
这就是“csv”的样子吗?抱歉,'dta'?
-
在打印语句中,它打印“datetime64[ns]”,即您要查找的内容....?
-
不,我的来源是 .dta - 不幸的是不是 .csv。但是
print.(d.head)返回上面显示的结构。
标签: python-3.x pandas import time-series stata