python - Pandas 数据帧 : resampling along integer index/grouping by groups of n elements

标签 python pandas

我了解 Pandas resampling使用 DateTimeIndex 的函数。

但是我如何轻松地沿着整数索引重新采样/分组?

以下代码说明了问题并有效:

import numpy as np
import pandas as pd


df = pd.DataFrame(np.random.randint(5, size=(10, 2)), columns=list('AB'))
print(df)

   A  B
0  3  2
1  1  1
2  0  1
3  2  3
4  2  0
5  4  0
6  3  1
7  3  4
8  0  2
9  4  4

# sum of n consecutive elements
n = 3
tuples = [(i, i+n-1) for i in range(0, len(df.index), n)]
df_new = pd.concat([df.loc[i[0]:i[1]].sum() for i in tuples], 1).T
print(df_new)

   A  B
0  4  4
1  8  3
2  6  7
3  4  4

但是有没有更优雅的方法来实现这一点?

代码对我来说似乎有点粗暴..

提前致谢!

最佳答案

您可以向下划分索引并聚合某些函数:

df1 = df.groupby(df.index // n).sum()

如果索引不是默认值(整数,唯一),则按 DataFramelen 创建的按楼层划分 numpy.arange 进行聚合:

df1 = df.groupby(np.arange(len(df)) // n).sum()

关于python - Pandas 数据帧 : resampling along integer index/grouping by groups of n elements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47197007/

相关文章:

python - 此递归函数的迭代版本

python - 在 Pandas 的 read_excel 中作为小数点分隔符的逗号

python - 如何使用 pandas 中的另一列更新一列

pandas - 在创建多索引列时合并 Pandas DataFrames

python - 从 pandas DataFrame MultiIndex 中选择命名索引级别

python - python中的字符串相等

python - 在使用偏移而不是页面来更改其内容列表的网站上抓取多个页面的最佳方法是什么

python - 使用 tweepy 进行推文直播

python - 对字符串查找感到困惑?

python - 用字典删除重复行