下記のようなDataFrame<図1>があるとして、
同じ表に
>Placeを基準にした、それぞれの場所の数の合計(Total counts of Place)と
>Placeを基準にした、それぞれのとPlaceを基準にした合計値Total Price
を新しいTotal counts of Place列、Total Price列を追加した<図2>を作りたいです
<図1>
Place | Price | |
---|---|---|
1 | Kyoto | 10 |
2 | Osaka | 25 |
3 | Kyoto | 30 |
4 | Tokyo | 17 |
5 | Kyoto | 10 |
6 | Tokyo | 2 |
<図2>
Place | Price | Total counts of Place | Total Price | |
---|---|---|---|---|
1 | Kyoto | 10 | 3 | 50 |
2 | Osaka | 25 | 1 | 25 |
3 | Kyoto | 30 | 3 | 40 |
4 | Tokyo | 17 | 2 | 19 |
5 | Kyoto | 10 | 2 | 40 |
6 | Tokyo | 2 | b | 19 |
元コードはこちらです
B = pd.DataFrame({ 'Number':[1,2,3,4,5,6], 'Place':['Tokyo','Osaka','Kyoto','Tokyo','Kyoto','Tokyo'], 'Price':['10','25','30','17','10','2']})
自分で書いたコードはこちらになるのですが、
- KeyErrorが起こるのと、Priceに関してはどのように合計すればよいのかわかりません。
お手数ですが、どういう風にやる、と言う流れだけでもいいのでご協力をお願い致します。
B['Total counts of Place']=B["Place"].replace("Tokyo",B['Place'].value_counts()['Tokyo'],inplace=True) B['Total counts of Place']=B["Place"].replace("Osaka",B['Place'].value_counts()['Osaka'],inplace=True) B['Total counts of Place']=B["Place"].replace("Kyoto",B['Place'].value_counts()['Kyoto'],inplace=True) B
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/31 12:59