在pandas中,可以使用groupby
函数和apply
方法来计算每n行的平均值,并为行分配新标签。
首先,我们需要导入pandas库:
import pandas as pd
然后,我们可以创建一个示例数据框:
data = {'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'B': [11, 12, 13, 14, 15, 16, 17, 18, 19, 20]}
df = pd.DataFrame(data)
接下来,我们可以使用groupby
函数将数据框按照每n行进行分组,并使用apply
方法计算每组的平均值:
n = 3 # 每n行计算平均值
df['新标签'] = df.groupby(df.index // n).apply(lambda x: x.mean())
在上述代码中,df.index // n
将数据框的索引按照每n行进行分组,然后apply
方法将每组数据应用到lambda
函数中,计算平均值,并将结果赋值给新的列"新标签"。
最后,我们可以打印出结果:
print(df)
输出结果如下:
A B 新标签
0 1 11 2.0
1 2 12 2.0
2 3 13 2.0
3 4 14 5.0
4 5 15 5.0
5 6 16 5.0
6 7 17 8.0
7 8 18 8.0
8 9 19 8.0
9 10 20 10.0
以上代码中,每3行的平均值被计算出来,并为每行分配了新的标签。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云