###前提・実現したいこと
下記のようなCSVにあるトランザクションのレコードを月別に並べ替え、2次元(?)の表を作成したいです。宜しくお願い致します。
・test.csv(元のデータ)
Id,Month,Country,Count,Sales,Share
3310-15,17年4月,アメリカ,25,50,15
3310-15,17年4月,カナダ,5,10,3
3310-15,17年5月,アメリカ,50,100,30
3310-15,17年5月,カナダ,15,30,9
3310-15,17年6月,アメリカ,20,40,12
3310-15,17年6月,イギリス,10,20,6
3310-28,17年4月,アメリカ,5,10,3
3310-28,17年6月,イギリス,5,10,3
3310-30,17年5月,アメリカ,5,10,3
3310-30,17年5月,カナダ,5,10,3
・by_month.csv(完成形の表)
Id,17年4月,17年5月,17年6月
3310-15,30,65,30
3310-28,5,0,5
3310-30,0,10,0
・Countryは無視する
・Countの値のみ取得する
###発生している問題
・Idでグルーピングは出来たが、月別が消えてしまう
・先頭に0,1,2と付いてしまう
・横に月別にする方法が発見できなかった
・Idに対して無いレコードを表示できない
(ex:3310-30の17年4月のレコードはCount数が0なので元データには無いが、完成形には0としたい)
・Countの値のみ抽出できなかった
###該当のソースコード
import pandas as pd
df = pd.read_csv('test.csv')
df_gp = df.groupby('Id', as_index=None).sum()
df_gp.to_csv('by_month.csv', index=None)
###試したこと
サーチしたが知識不足でこれ以上がどうにも記述できなかったです。
###補足情報(言語/FW/ツール等のバージョンなど)
Mac OS High Sierra 10.13.2
Python 3.6.4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/08 16:15