【发布时间】:2020-01-29 01:42:04
【问题描述】:
您好,我有以下数据框:
import pandas as pd
df = pd.DataFrame()
df.index = ['2009-01-04', '2009-01-05', '2009-01-05', '2009-01-06', '2009-01-06', '2009-01-07', '2009-01-07', '2009-01-07']
df['score1'] = [84, 28, 38, 48, 23, 38, 22, 37]
df['score2'] = [83, 43, 12, 93, 64, 28, 29, 12]
df['score3'] = [92, 33, 11, 48, 23, 22, 12, 38]
df['score4'] = [43, 23, 41, 75, 93, 93, 23, 21]
df['condition1'] = [0, 0, 1, 0, 1, 0, 1, 0]
df['condition2'] = [1, 0, 1, 0, 0, 0, 0, 1]
df['condition3'] = [0, 0, 0, 1, 1, 0, 0, 1]
df = df.resample('D', how='mean')
df = df.rolling(30, min_periods=1).mean()
我想做一个超过 30 天的滚动平均值,但在满足“条件”之一(即条件 ==1)的行上超重。 IE。满足条件的行将极大地影响 30 天的时间范围。
有没有办法做到这一点?
【问题讨论】:
-
你的“超重”是多少?
-
例如,在 30 天的时间范围内,我会首先为有争议的行分配 30%。然后每天下降1%