Pandas 以固定的时间间隔应用函数

Pandas 以固定的时间间隔应用函数,pandas,numpy,scipy,Pandas,Numpy,Scipy,是否有一种直接的现有方法可以在固定的时间间隔内使用pandas(或numpy、scipy)应用函数 示例 长度为11的pd.DataFrame 0 0.2 1 0.3 2 0.4 3 0.4 4 0.4 5 0.4 6 0.4 7 0.4 8 0.4 9 0.4 10 0.6 例如,应用间隔为5的min函数将导致 0 0.2 # Beginning of interval 1 0.2 2 0.2 3 0.2 4 0.2 # End

是否有一种直接的现有方法可以在固定的时间间隔内使用pandas(或numpy、scipy)应用函数

示例

长度为11的
pd.DataFrame

0   0.2
1   0.3
2   0.4
3   0.4
4   0.4
5   0.4
6   0.4
7   0.4
8   0.4
9   0.4
10  0.6
例如,应用间隔为5的min函数将导致

0   0.2 # Beginning of interval
1   0.2
2   0.2
3   0.2
4   0.2 # End of interval
5   0.4 # Beginning of interval
6   0.4
7   0.4
8   0.4
9   0.4 # End of interval
10  0.6 # Beginning of interval (takes the min function of the remaining values)
到目前为止,我可以用它

df = pd.read_clipboard(index_col = 0, header = None) # Copying the above data
df['intervals'] = (np.arange(len(df)) / 5).astype(int)
mapper = df.groupby('intervals').min()
result = df['intervals'].apply(lambda x: mapper.loc[x])
print result

但是我想知道pandas/numpy/scipy中是否已经内置了固定间隔过滤器。

根据必要的窗口间隔对其进行分组后,可以使用多种可能性之一

当您在
groupby
transform
方法上执行
min
时,所有子组将由各自组中存在的最小值填充

假设单列
DF
s
表示:

s.groupby(np.arange(len(s.index)) // 5).transform('min')
产生:

0     0.2
1     0.2
2     0.2
3     0.2
4     0.2
5     0.4
6     0.4
7     0.4
8     0.4
9     0.4
10    0.6
dtype: float64