Dataframe データの変形

Python

縦持ちから横持ちへ変換する。
https://ohke.hateblo.jp/entry/2018/07/21/230000を参考にさせていただきました。

orders_df = pd.DataFrame({‘customer_id’: [‘C1’, ‘C1’, ‘C2’, ‘C2’, ‘C3’], ‘product_id’: [‘P1’, ‘P2’, ‘P2’, ‘P2’, ‘P3’], ‘count’: [1, 2, 2, 1, 3]})
print(orders_df)

pivot_orders_df = orders_df.pivot_table(values=[‘count’], index=[‘customer_id’], columns=[‘product_id’], aggfunc=’sum’)
print(pivot_orders_df)
print()

実行前
customer_id product_id count
0 C1 P1 1
1 C1 P2 2
2 C2 P2 2
3 C2 P2 1
4 C3 P3 3
実行後
count
product_id P1 P2 P3
customer_id
C1 1.0 2.0 NaN
C2 NaN 3.0 NaN
C3 NaN NaN 3.0

コメント

タイトルとURLをコピーしました