Ich habe meine Daten im Pandas-Datenrahmen wie folgt:
df1 = pd.DataFrame({'A':['yes','yes','yes','yes','no','no','yes','yes','yes','no'],
'B':['yes','no','no','no','yes','yes','no','yes','yes','no']})
Meine Daten sehen also so aus
----------------------------
index A B
0 yes yes
1 yes no
2 yes no
3 yes no
4 no yes
5 no yes
6 yes no
7 yes yes
8 yes yes
9 no no
-----------------------------
Ich möchte es in einen anderen Datenrahmen umwandeln. Die erwartete Ausgabe kann im folgenden Python-Skript angezeigt werden:
output = pd.DataFrame({'A':['no','no','yes','yes'],'B':['no','yes','no','yes'],'count':[1,2,4,3]})
Meine erwartete Ausgabe sieht also so aus
--------------------------------------------
index A B count
--------------------------------------------
0 no no 1
1 no yes 2
2 yes no 4
3 yes yes 3
--------------------------------------------
Tatsächlich kann ich mit dem folgenden Befehl alle Kombinationen finden und zählen: mytable = df1.groupby(['A','B']).size()
Es stellt sich jedoch heraus, dass sich solche Kombinationen in einer einzigen Spalte befinden. Ich möchte jeden Wert in einer Kombination in eine andere Spalte unterteilen und eine weitere Spalte für das Ergebnis der Zählung hinzufügen. Ist das möglich? Darf ich Ihre Vorschläge haben? Vielen Dank im Voraus.
set_index()
. Es wurde versucht,groupby()
Zeilen mit einem bestimmten gemeinsamen Spaltenpaar zu gruppieren. Erstaunlich, danke!