Pandas 以固定的时间间隔应用函数
是否有一种直接的现有方法可以在固定的时间间隔内使用pandas(或numpy、scipy)应用函数 示例 长度为11的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
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