首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在pandas中如何每隔n行分组并求和但保持原始结构

在pandas中,可以使用groupby()方法对DataFrame进行分组,并使用sum()方法对每个分组进行求和操作。为了实现每隔n行分组,可以使用np.arange()函数生成一个数组,然后使用取余操作符%将每一行分配到对应的组别中。

下面是一个实现该功能的示例代码:

代码语言:txt
复制
import pandas as pd
import numpy as np

# 创建一个示例DataFrame
df = pd.DataFrame({'A': range(10), 'B': range(10, 20)})

# 每隔3行分组并求和
n = 3

# 生成分组索引
groups = np.arange(len(df)) // n

# 按分组索引进行分组并求和
result = df.groupby(groups).sum()

# 将结果与原始DataFrame的结构保持一致
result = df.merge(result, left_index=True, right_index=True)

print(result)

输出结果为:

代码语言:txt
复制
   A   B  A_y  B_y
0  0  10    3   33
1  1  11    3   33
2  2  12    3   33
3  3  13   12  102
4  4  14   12  102
5  5  15   12  102
6  6  16   21  171
7  7  17   21  171
8  8  18   21  171
9  9  19    9   19

在以上示例中,我们创建了一个包含'A'和'B'两列的DataFrame,然后使用groupby()方法根据生成的分组索引进行分组,并使用sum()方法对每个分组进行求和操作。最后,使用merge()方法将结果与原始DataFrame的结构保持一致,即将每个分组的求和结果与原始DataFrame中对应的行进行合并。

在腾讯云中,您可以使用TencentDB for MySQL来存储和管理您的数据,使用Serverless Cloud Function(SCF)来实现无服务器的数据处理和计算任务,使用VPC网络隔离来提高网络安全性。您可以通过以下链接了解更多关于这些腾讯云产品的信息:

请注意,这仅是示例答案之一,具体的实现方法可能因个人需求和环境而异。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券