Python 连续值的集合

Python 连续值的集合,python,pandas,aggregation,Python,Pandas,Aggregation,我想指出数据框中的温度是否降至15°C以下。如何更有效地做到这一点 df['Was cold'] = df['Temperature']<15 df['Jacket needed'] = False for i in range(len(df)-8): df.iloc[i].loc['Jacked needed'] = df.iloc[i:(i+8)]['Was cold'].any() df['Was cold']=df['Temperature']以下操作是否有效 df['J

我想指出数据框中的温度是否降至15°C以下。如何更有效地做到这一点

df['Was cold'] = df['Temperature']<15
df['Jacket needed'] = False
for i in range(len(df)-8):
    df.iloc[i].loc['Jacked needed'] = df.iloc[i:(i+8)]['Was cold'].any()

df['Was cold']=df['Temperature']以下操作是否有效

df['Jacket needed'] = df['Was cold'].rolling(window=8).sum().shift(-7) > 0

最好解释一下最后3行代码在做什么。很明显,这不仅仅是一个简单的布尔掩码,所以请解释一下你在做什么。为什么i+8?现在更好吗?可能有助于提供示例输入和所需输出。。。不太明白“在接下来的8个小时里,当天气变冷时,终于有一个”在这种情况下的意思。只是想知道你是不是在寻找类似
df['jacker']=(df['Temperature']<15)的东西。替换({False:None})。ffill(limit=8)
…我认为OP想要检查
df.温度是否在8个时间步的向前窗口中的任何位置下降到15以下。那么实际上,我想一个极限为7的B注是可行的/