Multiindex aus Dataframe zu Singleindex

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Freumel
User
Beiträge: 69
Registriert: Donnerstag 25. Januar 2018, 13:47

Áloa,

Folgendes Szenario:

Ich habe ein Dataframe. Draus interessieren mich zwei Spalten: Spalte A, Spalte B
Keine der Einträge soll einzigartig sein, weder der Eintrag selbst, noch die Kombination dieser Einträge.

Ziel ist es, zu jedem Ergebnis aus Spalte A die Anzahl der Individuellen Einträge aus Spalte B zu finden. Ich strebe also folgende Struktur an:

Code: Alles auswählen

Value A | Count Value B 1 | Count Value B 2 | Count Value B 3 | ... | Count Value B n
A 1     |         7.      |    8            | .......
A 2     |         5.      |    18           | .......  
Hierbei bin ich auf Pandas pivot_table Methode gestoßen. Und Konnte mein Szenario schon ziemlich gut abbilden:

Code: Alles auswählen

pd_wanted = pd.pivot_table(df,index=['Value A'], columns=['Value B'],aggfunc={'Value B':'count'})
Das Ergebnis Dazu hat folgende Struktur:

Code: Alles auswählen

                    Value B                                              
Value B                  B1      B2     B3   B4       B5    
Value A                                                                       
123                     8043.0   15.0   NaN  1485.0   2540.0
456                    15337.0   19.0   NaN  1308.0   3121.0
789                    19110.0    3.0   NaN  2325.0   5504.0
534                     7046.0    8.0   NaN   335.0   1677.0  
Hierbei kriege ich für pd_wanted.columns jedoch folgendes:

Code: Alles auswählen

MultiIndex([('Value B', 'B1'),
            ('Value B', 'B2'),
            ('Value B', 'B3')],
           names=[None, 'Value B'])
Ich möchte aber:

Code: Alles auswählen

Index(['Value A', B1', 'B2', 'B3'],
      dtype='object')
Wie komme ich auf die gewünschte Struktur?
Antworten