【发布时间】:2018-02-05 01:59:12
【问题描述】:
我有一个时间序列,我重新采样到这个数据帧df,
我的数据是从 6 月 6 日到 6 月 28 日。它想将数据从 6 月 1 日延长到 6 月 30 日。 count 列仅在延长期内将具有 0 值,而我的实际值从 6 日到 28 日。
Out[123]:
count
Timestamp
2009-06-07 02:00:00 1
2009-06-07 03:00:00 0
2009-06-07 04:00:00 0
2009-06-07 05:00:00 0
2009-06-07 06:00:00 0
我需要制作
开始日期:2009-06-01 00:00:00
结束日期:2009-06-30 23:00:00
所以数据看起来像这样:
count
Timestamp
2009-06-01 01:00:00 0
2009-06-01 02:00:00 0
2009-06-01 03:00:00 0
是否有有效的方法来执行此操作。我能想到的唯一方法不是那么有效。我从昨天开始就在尝试这个。请帮忙
index = pd.date_range('2009-06-01 00:00:00','2009-06-30 23:00:00', freq='H')
df = pandas.DataFrame(numpy.zeros(len(index),1), index=index)
df.columns=['zeros']
result= pd.concat([df2,df])
result1= pd.concat([df,result])
result1.fillna(0)
del result1['zero']
【问题讨论】:
-
我不明白预期的输出。是只有三排还是你只是贴了头?是不是要到6月30号才行?如果是这样,
ser.reindex(idx, fill_value=0)应该足够了。 -
@ayhan 是的,它应该持续到 6 月 30 日。我的数据是从 6 月 6 日到 6 月 28 日。它想将数据从 6 月 1 日延长到 6 月 30 日。 count 列仅在延长期内将具有 0 值,而我的实际值从 6 日到 28 日。
标签: python pandas datetime time-series