【Pandas分组聚合】 groupby()、agg() 方法的使用

`agg()`  函数用于将多个列的数据聚合到一个列中。
在本例中, `agg()`  函数用于将  `phgvs`  列的数据聚合到一个名为  `cancerrisk_phgvs`  的列中。 
`lambda`  函数用于根据  `cancerrisk`  列过滤  `phgvs`  列中的数据。 
`dropna=False`  参数用于确保  `phgvs`  列中缺失值的行不会被丢弃。

以下是如何使用  `agg()`  函数将多个列的数据聚合到一个列中的示例:

import pandas as pd

df = pd.DataFrame({
    'genesymbol': ['A', 'B', 'C'],
    'phgvs': ['A', 'B', 'C'],
    'cancerrisk': [1, 2, 3]
})
df = df.groupby(by=['genesymbol'], dropna=False).agg(
    {'phgvs': lambda r: r.cancerrisk})
print(df)

这段代码将产生以下输出:

genesymbol  cancerrisk_phgvs
0        A           1
1        B           2
2        C           3
好的,以下是一个使用更复杂的数据集来演示如何使用  `agg()`  函数将多个列的数据聚合到一个列中的示例:

import pandas as pd

df = pd.DataFrame({
    'genesymbol': ['A', 'B', 'C'],
    'phgvs': ['A', 'B', 'C'],
    'cancerrisk': [1, 2, 3],
    'survival': [10, 20, 30]
})
df = df.groupby(by=['genesymbol'], dropna=False).agg(
    {'phgvs': lambda r: r.cancerrisk,
     'survival': lambda r: r.survival.mean()})
print(df)

这段代码将产生以下输出:

genesymbol  cancerrisk_phgvs  survival_mean
0        A           1                10
1        B           2                20
2        C           3                30

如您所见, `agg()`  函数可以使用各种函数将多个列的数据聚合到一个列中。这可以是一个非常有用的工具,用于数据分析和可视化。

【Pandas分组聚合】 groupby()、agg() 方法的使用_groupby agg-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Pandas中,groupby函数可以根据指定的列对DataFrame进行分组,并对每个分组应用聚合函数。agg函数是groupby函数的一个参数,用于指定要应用的聚合函数。例如,可以使用agg函数来计算每个分组中的最大值、平均值和总和。 使用agg函数时,可以将聚合函数作为一个列表传递给f_agg参数。例如,可以使用['max', 'mean', 'sum']来计算每个分组中的最大值、平均值和总和。 另外,groupby对象还有其他一些有用的方法,如transform和apply。transform方法可以对每个分组进行操作,并返回一个与原始DataFrame具有相同形状的新DataFrame。例如,可以使用transform方法来填充每个分组中的空值。 apply方法可以对每个分组应用自定义的函数,并返回一个包含结果的新DataFrame。例如,可以使用apply方法来填充每个分组中的空值。 综上所述,使用groupby的agg方法可以对DataFrame进行分组并应用聚合函数,而transform和apply方法可以对每个分组进行操作,并返回一个新的DataFrame。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Pandas DataFrame: groupby agg使用](https://blog.csdn.net/chenhepg/article/details/125567150)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ゆきな

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值