要根据字段'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'。

Pandas DataFrame: 如何根据多个字段分组并求和生成新字段

原文地址: https://www.cveoy.top/t/topic/qpFx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录