2016-11-16 3 views
3

マイ入力された動作していないマージ:私が欲しいパンダピボットと

Col1 Col2 Col3 Col4 Col5 
0  1 Y A PQR 56 
1  1 Y A XYZ  2 
2  1 Y A DEF 20 
3  2 Y B PQR 18 
4  2 Y B XYZ 24 
5  2 Y B DEF 11 
6  3 Y C PQR 20 
7  3 Y C XYZ  4 
8  3 Y C DEF 18 
9  3 Y C HHH 23 

私の出力は次のとおりです。

 Col1 Col2 Col3 PQR XYZ DEF HHH 
0  1  Y  A 56 2 20 NaN 
1  2  Y  B 18 24 11 NaN 
2  3  Y  C 20 4 18 23.0 

しかし、私は下記行うとき:

output = input.pivot_table(index='Col1',columns='Col4',values='Col5') 

私が手を:

Col1 PQR  XYZ DEF HHH 
    1  56  2  20 NaN 
    2  18  24  11 NaN 
    3  20  4  18 23.0 

のCol1は今全体のことではありませんインデックス

である - ので、私がしようとすると適用されます。

output = output.merge(input,how='left',left_index=True,right_on='Col1') 

ちょうど私

思考のPLSを絶対ゴミを与えますか?

答えて

4

私はあなたがindexをパラメータするCol2Col3を追加必要があると思う:

output = input.pivot_table(index=['Col1', 'Col2','Col3'],columns='Col4',values='Col5') 
       .reset_index() 
print (output) 
Col4 Col1 Col2 Col3 DEF HHH PQR XYZ 
0  1 Y A 20.0 NaN 56.0 2.0 
1  2 Y B 11.0 NaN 18.0 24.0 
2  3 Y C 18.0 23.0 20.0 4.0 
+0

それをしないこと - 感謝のVM! – spiff

3
df.groupby(['Col1', 'Col2', 'Col3', 'Col4']).Col5.mean().unstack() \ 
    .rename_axis(None, 1).reset_index() 

enter image description here

+0

返信ありがとう - 私も何か試みたstack()を使って光を投げていますが失敗しました – spiff

関連する問題