2
をdcast:パンダは、私はこのようないくつかのデータを持っている
import pandas as pd
df = pd.DataFrame(index = range(1,13), columns=['school', 'year', 'metric', 'values'],)
df['school'] = ['id1']*6 + ['id2']*6
df['year'] = (['2015']*3 + ['2016']*3)*2
df['metric'] = ['tuition', 'admitsize', 'avgfinaid'] * 4
df['values'] = range(1,13)
df
school year metric values
1 id1 2015 tuition 1
2 id1 2015 admitsize 2
3 id1 2015 avgfinaid 3
4 id1 2016 tuition 4
5 id1 2016 admitsize 5
6 id1 2016 avgfinaid 6
7 id2 2015 tuition 7
8 id2 2015 admitsize 8
9 id2 2015 avgfinaid 9
10 id2 2016 tuition 10
11 id2 2016 admitsize 11
12 id2 2016 avgfinaid 12
Iワイドフォーマットにメトリック&値列を旋回たいです。それは私がしたい、次のとおりです。
df2 <- dcast(df, id + year ~ metric, value.var = "values")
私はパンダでこれをどのように行うのです。これはRだったら
school year tuition admitsize avgfinaid
id1 2015 1 2 3
id1 2016 4 5 6
id2 2015 7 8 9
id2 2016 10 11 12
、私のような何かをしますか?私はパンダのドキュメントでthis (otherwise very helpful) SO answerとthis (also otherwise excellent) exampleを読んだが、私のニーズにそれを適用する方法をgrokしていない。私はdcastのような1ライナーは必要ありません。標準的なDataFrame(groupby、multi-index、または他の派手なオブジェクトではない)で結果を得る方法の例です。