0
私は任意の算術関数(通常sum、avg、divis &の減算)を摂取できるアプリケーションを作成するために.agg関数を使用しようとしています。 2番目の算術関数を実行するが、私はそれを行う正しい方法を理解することはできません。Python/Pandas .agg関数
試み1(2つのステップに2件の集計を分離):
aggregation = {
'Att': {'metric_numerator': 'sum'},
'Enr': {'metric_denominator': 'sum'},
}
df_aggregated = data_filtered.groupby(groupby_columns).agg(aggregation)
aggregation2 = {
'calculated_rate': lambda x: (x['metric_numerator'] - x['metric_denominator']) * 100
}
groupby_list.append('metric_numerator')
groupby_list.append('metric_denominator')
input_df = input_df.groupby(groupby_list).agg(aggregation2)
注:最初の凝集が動作しますが、第二のステップはない
試み#2(いずれかですべての集約を含む
辞書)(推奨):aggregation = {
'Att': {'metric_numerator': 'sum'},
'Enr': {'metric_denominator': 'sum',
'AGG': lambda x: (x['metric_numerator'] - x['metric_denominator']) * 100}
}
df_aggregated = data_filtered.groupby(groupby_columns,).agg(aggregation)
注:これは失敗した私は、「AGG」の計算のために間違った構文を持っていますが、私はそれがどうあるべきかわからないので
ありがとうございました。 .agg関数が私が使用するべきものではないと思うならば、私は提案にもオープンしています。