Python 按多个和进行聚合
新手问题。我想使用两个汇总列计算dataframe列,如下所示:Python 按多个和进行聚合,python,pandas,Python,Pandas,新手问题。我想使用两个汇总列计算dataframe列,如下所示: grouped_columns = df1.groupby(['Parent1', 'Parent2']).agg(Attr_fac = ('Exposure1', 'sum') / ('Exposure2', 'sum')) 持续获取类型错误:/:“tuple”和“tuple”的操作数类型不受支持 Exposure1和Exposure2是从excel文件读入的数字列。请帮帮我,我做错了什么?你不能真的做('Exposure1'
grouped_columns = df1.groupby(['Parent1', 'Parent2']).agg(Attr_fac = ('Exposure1', 'sum') / ('Exposure2', 'sum'))
持续获取类型错误:/:“tuple”和“tuple”的操作数类型不受支持
Exposure1和Exposure2是从excel文件读入的数字列。请帮帮我,我做错了什么?你不能真的做('Exposure1','sum')/('Exposure2','sum')
,因此出现了错误。您可以尝试:
grouped_columns = (df1.groupby(['Parent1', 'Parent2'])
[['Exposure1','Exposure2']].sum()
.assign(Attr_fac=lambda x: x['Exposure1']/x['Exposure2'])
)
或groupby().apply()
:
这就是罪魁祸首('Exposure1','sum')/('Exposure2','sum')
在这个
('Exposure1','sum')
是一个元组,('Exposure2','sum')
是另一个元组。并且没有为元组定义/
操作。请用示例数据框解释您试图实现的目标。我试图将曝光1的合计值除以曝光2的合计值。
我可以通过以下方式获取Exposure1的和值:grouped_columns=df1.groupby(['Parent1','Parent2']).agg(Attr_fac=('Exposure1','sum'))。我想添加额外的sum列(与此不同)
grouped_columns = (df1.groupby(['Parent1', 'Parent2'])
.apply(lmabda x: x['Exposure1'].sum()/x['Exposure2'].sum())
)