1
私は次のようにデータフレームを持っている:平均 - Pythonの
Member Category Total
1001 1 5
1001 2 4
1001 3 9
1003 1 7
1003 2 5
1003 3 2
1005 1 2
1005 3 5
私が取得する必要があります:
Member Category Total Average
1001 1 5 0.27
1001 2 4 0.22
1001 3 9 0.5
1003 1 7 0.5
1003 2 5 0.35
1003 3 2 0.15
1005 1 2 0.28
1005 3 5 0.72
、各メンバーの合計の平均値です。例えば、メンバー1001の合計は18であり、カテゴリー1は合計の27%を表します。したがって、平均は0.27になります。
average = []
for member in df[df["Member"].unique():
total_member = df[df["Member"] == member]["Total"].sum()
for category in df["Category"].unique():
total_category = df[(df["Member"]==member) & (df["Category"]==category)]["Total"]
average.append(total_category/total_member)
df["Average"] = average
しかし、だけでなく、それは動作しませんが、私は非常に大量のデータを持っているので、それは遅すぎる:私が試した何
はました。
アメージング答え! –