Python 计数1';在一个分为周的时间序列中
我有一个如下所示的数据框:Python 计数1';在一个分为周的时间序列中,python,pandas,Python,Pandas,我有一个如下所示的数据框: df = date val1 01/02/2021 2.0 02/02/2021 2.0 03/02/2021 1.0 04/02/2021 1.5 05/02/2021 10.0 06/02/2021 7.0 07/02/2021 4.0 然后,我创建另一列,如果val1高于例如5,则我希望1,否则,则0,即: import numpy as np impor
df =
date val1
01/02/2021 2.0
02/02/2021 2.0
03/02/2021 1.0
04/02/2021 1.5
05/02/2021 10.0
06/02/2021 7.0
07/02/2021 4.0
然后,我创建另一列,如果val1
高于例如5,则我希望1
,否则,则0
,即:
import numpy as np
import pandas as pd
df['above_five'] = np.where(df['val1'] > 5.0, 1, 0)
将返回:
df =
date val1 above_five
01/02/2021 2.0 0
02/02/2021 2.0 0
03/02/2021 1.0 0
04/02/2021 1.5 0
05/02/2021 10.0 1
06/02/2021 7.0 1
07/02/2021 4.0 0
我的下一步是我有点不确定。现在,我希望将数据帧“压缩”为每周周期,但使用一个新列或计算该周1的出现次数的内容
我试过用这个,但这个很重要,所以它似乎没有关注1:
new_df = df.resample('W', on='date').count()
实际上,输出应该是这样的(假设01/02/2021
是星期一):
*
或只是指示这是第一周的某个日期,例如一周的第一天或最后一天。在周级别上使用group by
new_df=df.groupby([pd.Grouper(key='date',freq='W-MON'))['over'u five'].sum()
代码取自此问题:
count
为您提供每组中每列中非空值的数量。您想sum
上述五列:df.resample('W',on='date')['over'u-five'].sum()
final_df =
date above_five_counts
Week 1* 2