2016-04-23 4 views
2

Meine Pivot-Tabelle hat zwei Ebenen von Spalten (Ebene 1: Erwachsene vs Kinder, Ebene 2: männlich vs weiblich) Für Erwachsene möchte ich Ebene 2 reduzieren. Wie konvertiere ich Pivot-Tabelle 1 zu Tabelle 2?Gruppieren von Spalten in Python Pandas Pivot-Tabelle

Pivot Tabelle 1 (Stromausgang)

  Adults_____ Kids_______ 
      Male Female Male Female 
Count  5  5  12  8 

Pivot Tabelle 2 (gewünschter Ausgang)

  Adults Kids_______ 
        Male Female 
Count  10   12  8 

habe ich versucht, die folgende, die ein KeyError zurückzugibt.

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

Antwort

3

können Sie verwenden sum und dann drop ursprüngliche Spalte 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

Dank !! Wofür ist 'Achse = 1'? –

+1

'Achse = 1 'bedeutet Summe nach Spalten, siehe [Dokumente] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sum.html) – jezrael