csv ファイルでピボット テーブルを作成するために pandas ライブラリを使用しています。
pivot_table コードの通常の形式は、下のコードのようなものです。
tips=read_csv('tips.csv')
`table=pd.pivot_table(tips, values='tip_pct', rows=['time', 'sex'], cols='smoker')`
以下のように、値フィールドに複数のディメンションを追加できないかと考えていました。
List=read_csv('list.csv')
table=pd.pivot_table(List, values=['Applications','Acquisitions'], rows='Sub-Product',cols='Application Date', aggfunc='sum')
上記のコードを試しましたが、フォーマットが間違っていたので、別の方法で取得できることを望んでいましたか?
最終的にはこれを手に入れたい
http://i.stack.imgur.com/cifML.png
私が今手に入れることができるのは
http://i.stack.imgur.com/4mbzK.png
これは、ピボット テーブルに変換しようとしている元の list.csv ファイルの一部です。
Application Date Sub-Product Applications Acquisitions
11/1/12 GP 1 1
11/1/12 GP 1 1
11/2/12 GP 1 1
11/2/12 GP 1 1
11/3/12 GP 1 1
11/3/12 GPF 1 1
11/4/12 GPF 1 1
11/4/12 GPF 2 2
11/5/12 GPF 1 1
11/5/12 GPF 1 1
11/6/12 GPF 1 1
This is what im trying to achieve for my pivot table.
1. Cols : Application Date
2. Row labels: Sub-Product
3. Values: Application, Acquisitions
Row Labels 11/1/2012 11/2/2012 11/3/2012
**GP**
Applications 190 207 65
Acquisitions 164 168 54
**GPF**
Applications 1391 1430 1269
Acquisitions 1124 1142 992
**Innovative Gateway**
Applications 2 1
Acquisitions 2 1
しかし、私が得ているのは
Sub-Product ('Applications', '1/1/13')('Applications', '1/10/13')
GP 48 134
GPF 600 1099
Innovative Gateway 1 2
これは私のコードです:
> list=pd.read_csv("List.csv")
> df=DataFrame(list)
> table=pd.pivot_table(df,values=['Applications','Acquisitions'], rows='Sub-Product',cols='Application Date',aggfunc=np.sum)
>table.to_csv('file.csv')
したがって、現在の問題は、値フィールドに複数の値を持つことができず、日付がごちゃごちゃしているように見えることです。助けてください!
ありがとう
日付の問題は次の方法で解決できます
xl2["Application Date"] = pd.to_datetime(xl2["Application Date"], format="%m/%d/%y")
現在、私の唯一の問題は、値フィールドが複数の値を取ることができないという事実と、スタックまたはリシェイプ関数の使用方法について誰かが考えているかどうか疑問に思っていることです。