在数据框中转置的组的计算均值列

Calculated mean column for a group transposed in a dataframe

我的最终分析列有问题。我正在寻找以下输出中每一行的平均值。

    ValueSource StackedValues   Count   Sum_Weight  Group_Count Mean
0      AgeBand      4.0          402    6152.237828    2418      NaN
2      AgeBand      2.0          402    5250.436317    2053      NaN
7      AgeBand      3.0          402    4344.387011    1667      NaN
11     AgeBand      5.0          402    7296.371395    2911      NaN
19     AgeBand      1.0          402    3260.035257    1254      NaN
20     AgeBand      6.0          402    8501.978737    3341      NaN
59     AgeBand      8.0          402    15487.932515   6210      NaN
92     AgeBand      7.0          402    12054.620941   4846      NaN

因此对于索引行 0,平均值为 Sum_Weight/SUM(Sum_Weight) 并跨 Valuesource

分组

我尝试了以下方法Data['Mean'] = Data.groupby("ValueSource")['Sum_Weight'].mean(),但如您所见,效果并不理想。

最终结果将是一个均值列,每个 ValueSource 和 StackedValue 的每一行都有一个值

如有任何帮助,我们将不胜感激。

您可以使用 groupby 来做到这一点并像这样应用

Data['Mean'] = Data.groupby("ValueSource")['Sum_Weight'].apply(lambda x: x / x.sum())