亲爱的经验丰富的社区, 我找不到解决我问题的优雅方法。 我有一个数据集的子样本,我想每周进行一次重新抽样,但是要在我的数据框中第一个条目输入之前的几周开始(所以数计数为0的几周)
数据样本:
在:
print(df_pec.head())
出局:
Count Image_Sequence_DateTime
18 1 2015-11-06 03:22:19
21 1 2015-11-11 01:48:51
22 1 2015-11-11 07:30:47
37 1 2015-11-25 09:42:23
48 1 2015-12-05 12:12:34
最早的图像序列位于:
在:
df_pec.Image_Sequence_DateTime.min()
出局:
2015-09-30 15:16:38
我还有另一个功能,可以给我该实验中测量的第一周的起点和最后一周的终点:
在:
print(s_startend)
出局:
Start 2015-09-28
End 2017-12-25
dtype: datetime64[ns]
我的问题是我想每周对df_pec进行重新采样,但要从实验部署的第一周第一天的第一秒开始。(以s_startend为参考)
我尝试:
df_pec=df_pec.resample('1W', on='Image_Sequence_DateTime').sum()
print(df_pec.head(),'\n',df_pec.tail())
出局:
Count
Image_Sequence_DateTime
2015-10-04 26.0
2015-10-11 92.0
2015-10-18 204.0
2015-10-25 193.0
2015-11-01 187.0
Count
Image_Sequence_DateTime
2017-11-19 20.0
2017-11-26 34.0
2017-12-03 16.0
2017-12-10 11.0
2017-12-17 3.0
这很奇怪,因为它甚至跳过了df_pec中的数据的第一天。(从2015-09-30 15:16:38开始)
即使它起作用了,即使子样本df_pec的最早和最近几周都没有记录,我也无法以指定的值(在本例中为s_startend)来指示重新采样。
我考虑过人为地在df_pec中添加两个具有真实开始和真实结尾的条目,但是我认为它并不那么优雅,我不想在df中添加无意义的键。
非常感谢您的智慧!