Pandas DataFrame: 如何根据多个字段分组并求和生成新字段
要根据字段's'、'x'、'd'分组,然后求和值作为字段'b',可以使用以下代码:
import pandas as pd
# 创建示例DataFrame
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
's': ['A', 'B', 'A', 'B', 'A'],
'x': ['X', 'Y', 'X', 'Y', 'X'],
'd': ['D', 'D', 'E', 'E', 'D']
})
# 根据字段s、x、d分组,求和值作为字段b
df['b'] = df.groupby(['s', 'x', 'd'])['a'].transform('sum')
print(df)
输出结果:
a s x d b
0 1 A X D 1
1 2 B Y D 2
2 3 A X E 3
3 4 B Y E 4
4 5 A X D 6
在这个示例中,根据字段's'、'x'、'd'进行分组,然后对每个组内的字段'a'进行求和,并将求和值作为新的字段'b'。使用groupby()方法对DataFrame进行分组,然后使用transform()方法应用聚合函数(这里是sum())生成求和值,最后将结果赋值给字段'b'。
原文地址: https://www.cveoy.top/t/topic/qpFx 著作权归作者所有。请勿转载和采集!