次のデータセットがあるとします
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
カウントは、ユニットで観測されたさまざまなカテゴリの頻度を示します。取得したいのは、各ユニットの 4 つのカテゴリの累積度数です。カテゴリ 4 はユニット 1 から欠落しており、カテゴリ 3 はユニット 2 から欠落していることに注意してください。
したがって、最終結果は次のようになります。
ユニット 1 の場合:
[8/13, 11/13, 13/13, 13/13]
ユニット 2 の場合:
[2/17, 10/17, 10/17, 17/17]
groupby
とを使用して累積合計を取得する方法は知っていますがcumsum
、たとえば、ユニット 1 には、欠落しているカテゴリ 4 の値がありません。
御時間ありがとうございます!