【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()`  函数可以使用各种函数将多个列的数据聚合到一个列中。这可以是一个非常有用的工具,用于数据分析和可视化。

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

文章来源:https://blog.csdn.net/weixin_45094474/article/details/134876343
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。