繁体   English   中英

如何获得最大值为 k 连续行的新 pandas dataframe?

[英]How to get new pandas dataframe with max value of k consecutive rows?

我有这个 pandas dataframe:

ts = pd.Series([2372, 4356, 3034, 1502, 676, 4187, 2634, 1002])

我想得到的是一个 dataframe ,它存在列的四个连续行的最大值,并保持第 0、4、8 行等的索引。

在这种情况下,这意味着新的 dataframe 应该如下所示:

0 4356 

4 4187

我怎么能这样做?

numpy.arangeGroupby.agg一起使用:

In [899]: df = ts.groupby(np.arange(len(ts))//4).agg(['idxmax','max'])

In [900]: df
Out[900]: 
   idxmax   max
0       1  4356
1       5  4187

尝试:

ts.groupby((np.arange(len(ts))//4)*4).max()

Output:

0    4356
4    4187
dtype: int64

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM