Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计数1';在一个分为周的时间序列中_Python_Pandas - Fatal编程技术网

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