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

如何根据groupby函数输出向pandas dataframe添加新列?

根据groupby函数输出向pandas dataframe添加新列的方法如下:

  1. 首先,使用groupby函数对DataFrame进行分组操作,指定需要分组的列名。
  2. 然后,使用聚合函数(如sum、mean、count等)对分组后的数据进行计算,得到聚合结果。
  3. 将聚合结果赋值给一个新的列,可以使用assign函数来实现。
  4. 最后,将新的列添加到原始的DataFrame中,可以使用join函数或者merge函数来实现。

以下是一个示例代码:

代码语言:python
代码运行次数:0
复制
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)

输出结果如下:

代码语言:txt
复制
   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

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

相关·内容

没有搜到相关的沙龙

领券