###前提・実現したいこと
他人から貰ったtest.csvというファイルを読み込んでグルーピングしてまとめたい。
そしてあるコラムを軸にソートをかけたい。
・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-30,0,10,0
3310-28,5,0,5
3310-15,30,65,30
※17年4月を軸に少ない値順でソート
###発生している問題・エラーメッセージ
①エラーは出ないが、数字が足されずにお尻に付いてしまいます。
結果
ーーーーーーーーーーーーーーーーー
Id,17年4月,17年5月,17年6月
3310-15,30,65,30
3310-28,5,0,5
3310-30,0,55,0
ーーーーーーーーーーーーーーーーー
※3310-30の5月は本来なら10のはずだか、55となってしまいます。
②ソート部分をどうかけば良いかわからないです。
###該当のソースコード
import pandas as pd
df = pd.read_csv('test.csv')
pv = pd.pivot_table(data=df, values='Count', columns='Month', index='Id', aggfunc='sum', fill_value=0)
pv.to_csv('by_month.csv')
###試したこと
①test.csvが数字と文字が混ざってしまっているのでint()とかdtype()で処理をするのかなと思うが、書き方がわからないです。
※力技で元のcsvをコピペしてインデックス/コラム以下の部分を数値に直して取り込みました。
②単純にsort()をどう使えば良いかわからないです。
###補足情報(言語/FW/ツール等のバージョンなど)
Mac OS High Sierra 10.13.2
Python 3.6.4
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/18 05:23
2018/01/18 05:48
2018/01/19 21:48