前提・実現したいこと
Pandasでデータフレームの操作を勉強しています。
下記のデータフレームで例えると
利客数に対してアウターの購入率を出したければ
df['アウター'] / df['来客'] * 100
もしくは
df.iloc[:,2] / df.iloc[:,1] * 100
で出せます。
これを1:1ではなく、来客:各カテゴリで計算する方法がわかりません。
アウターだけでなくトップス・ボトムス・インナー・シューズもまとめて購入率を出したいです。
該当のソースコード
pandas
1import pandas as pd 2 3df = pd.DataFrame({'店舗':['shop1', 'shop2', 'shop3', 'shop4', 'shop5', 'shop6', 'shop7', 'shop8', 'shop9', 'shop10'], 4 '来客':[45, 132, 78, 154, 39, 57, 83, 117, 96, 44], 5 'アウター':[0, 4, 1, 5, 0, 1, 0, 8, 2, 0], 6 'トップス':[3, 11, 5, 18, 1, 2, 4, 15, 12, 3], 7 'ボトムス':[1, 8, 3, 12, 1, 3, 8, 10, 8, 0], 8 'インナー':[3, 7, 10, 8, 2, 5, 6, 1, 0, 5], 9 'シューズ':[0, 2, 0, 5, 0, 1, 1, 3, 0, 0]}) 10 11df.set_index('店舗') 12df.iloc[:,2] / df.iloc[:,1] * 100
試したこと
アウターのカラム以降を指定すればいいのかと思い
df.iloc[:,2:] / df.iloc[:,1] * 100
を試しましたが、値が全てNaNのデータフレームが出力されてしまいました。
ご教示のほどよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー