我是pandas和numpy的新手,并尝试将测量值汇总到等间隔时间序列。输入数据的间隔不等,如下所示:
timestamp value
2016-08-09 11:55:26 1779.510
2016-08-09 11:55:26 1792.310
2016-08-09 11:55:27 1796.900
2016-08-09 11:55:28 1749.760
2016-08-09 11:55:29 1780.870
... ...
现在我正在尝试从MySQL读取数据,然后将其重新采样到等间隔时间序列。
query = "SELECT timestamp, value FROM iren2.data WHERE data.timestamp >= now() - INTERVAL {0} DAY " \
"AND data_node_id = {1} ".format(1, 307)
data = pandas.read_sql_query(query, engine, parse_dates=True, index_col='timestamp')
aggregation = pandas.DataFrame()
aggregation['value'] = data.resample('1min').mean()
print(aggregation)
打印:
[104301 rows x 1 columns]
value
0 NaN
1 NaN
... ...
这不是我的预期:/
提前致谢!
更新EdChum的评论
data.info():
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 106661 entries, 2016-08-09 13:06:13 to 2016-08-10 13:06:13
Data columns (total 1 columns):
value 106661 non-null float64
dtypes: float64(1)
memory usage: 1.6 MB
无
答案 0 :(得分:2)
这里的问题是您尝试添加一个包含不兼容索引的数据的新列,当您创建一个空df时,索引类型最初将为UIView
dtype,您是在索引为CGPoint
的位置添加数据,以便为所有行获取object
。
如果你传递df的datetimeIndex
中的数据和索引,那么这将有效:
NaN
如果你想要一个int索引,那么你可以这样做:
ctor