假设我有以下数据集
df_dict = ({'unit' : [1, 1, 1, 2, 2, 2], 'cat' : [1, 2, 3, 1, 2, 4],
'count' : [8, 3, 2, 2, 8, 7] })
df = pd.DataFrame(df_dict)
df.set_index('unit', inplace = True)
看起来像这样:
cat count
unit
1 1 8
1 2 3
1 3 2
2 1 2
2 2 8
2 4 7
计数给出了在一个单元中观察到不同类别的频率。我想得到的是每个单元四个类别的累积频率。请注意,第 1 单元缺少第 4 类,第 2 单元缺少第 3 类。
因此,最终结果将是
对于单元 1:
[8/13, 11/13, 13/13, 13/13]
对于第 2 单元:
[2/17, 10/17, 10/17, 17/17]
我知道如何用groupby
and获得累积总和cumsum
,但是例如,单元 1 没有缺失类别 4 的值。
谢谢你的时间!