`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博客