Seite 1 von 1

Multiindex aus Dataframe zu Singleindex

Verfasst: Dienstag 30. Juni 2020, 15:05
von Freumel
Á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?