2016-04-23 14 views
2

ピボットテーブルには2つのレベルの列があります(レベル1:大人vs子供、レベル2:男性vs女性) 大人の場合、レベル2を折りたたみたいピボットテーブルを変換するにはどうすればいいですか? 1から表2まで?Pythonの列をグループ化するピボットテーブル

ピボットテーブル1(出力電流)

  Adults_____ Kids_______ 
      Male Female Male Female 
Count  5  5  12  8 

ピボットテーブル2(所望の出力)

  Adults Kids_______ 
        Male Female 
Count  10   12  8 

IはKeyError例外を返し、次を試してみました。

df = df[[('Adults'),('Kids','Male'),('Kids','Female')]] 

答えて

3

あなたはsum、その後drop元の列Adults_____使用することができます。

print df 
     Adults_____  Kids_______  
      Male Female  Male Female 
Count   5  5   12  8 

df['Adults'] = df['Adults_____'].sum(axis=1) 
df = df.drop('Adults_____', axis=1) 
df = df[['Adults','Kids_______']] 
print df 
     Adults Kids_______  
        Male Female 
Count  10   12  8 
+0

感謝を! 'axis = 1'とは何ですか? –

+1

'axis = 1'は列ごとの合計を意味します。[docs](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sum.html)を参照してください。 – jezrael

関連する問題