【Pandas分组聚合】 groupby()、agg() 方法的使用
2023-12-13 19:39:47
`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()` 函数可以使用各种函数将多个列的数据聚合到一个列中。这可以是一个非常有用的工具,用于数据分析和可视化。
文章来源:https://blog.csdn.net/weixin_45094474/article/details/134876343
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!