这里对蟒蛇和大熊猫来说相当新 .
我做了一个查询,它给了我一个时间序列 . 我不知道从查询中收到多少数据点(运行一天),但我知道的是我需要重新采样它们以包含24个点(当天每小时一个) .
打印m3hstream给出
[(1479218009000L, 109), (1479287368000L, 84)]
然后我尝试用数据帧df
df = pd.DataFrame(data = list(m3hstream), columns=['Timestamp', 'Value'])
这给了我一个输出
Timestamp Value
0 1479218009000 109
1 1479287368000 84
以下我这样做
daily_summary = pd.DataFrame()
daily_summary['value'] = df['Value'].resample('H').mean()
daily_summary = daily_summary.truncate(before=start, after=end)
print "Now daily summary"
print daily_summary
但是这给了我一个TypeError:只对DatetimeIndex,TimedeltaIndex或PeriodIndex有效,但得到了一个'RangeIndex'的实例
有谁能请让我知道如何重新取样,所以我在24小时内每小时得1分,我要查询?
谢谢 .
2 回答
您需要做的第一件事是将
'Timestamp'
转换为实际pd.Timestamp
. 看起来像是milliseconds
然后
resample
,on
参数设置为'Timestamp'
如果要填充
NaN
值,请使用ffill
,bfill
或interpolate
我们试试吧:
一小时一次:
或者每天一次: