根据groupby函数输出向pandas dataframe添加新列的方法如下:
以下是一个示例代码:
import pandas as pd
# 创建一个示例DataFrame
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick', 'John'],
'Subject': ['Math', 'Math', 'Math', 'Science', 'Science', 'Science'],
'Score': [80, 90, 70, 85, 95, 75]}
df = pd.DataFrame(data)
# 使用groupby函数对Name列进行分组,并计算每个分组的平均分数
grouped = df.groupby('Name')['Score'].mean()
# 将聚合结果赋值给一个新的列
df = df.assign(AverageScore=df['Name'].map(grouped))
# 输出结果
print(df)
输出结果如下:
Name Subject Score AverageScore
0 Tom Math 80 82.5
1 Nick Math 90 92.5
2 John Math 70 72.5
3 Tom Science 85 82.5
4 Nick Science 95 92.5
5 John Science 75 72.5
在上述示例中,我们首先使用groupby函数对Name列进行分组,然后计算每个分组的平均分数。接着,使用assign函数将平均分数赋值给一个新的列AverageScore。最后,将新的列添加到原始的DataFrame中,得到最终的结果。
推荐的腾讯云相关产品:腾讯云数据库TencentDB、腾讯云云服务器CVM、腾讯云云原生容器服务TKE。
腾讯云数据库TencentDB:https://cloud.tencent.com/product/cdb
腾讯云云服务器CVM:https://cloud.tencent.com/product/cvm
腾讯云云原生容器服务TKE:https://cloud.tencent.com/product/tke
领取专属 10元无门槛券
手把手带您无忧上云