Ho i miei dati nei data frame panda come segue:combinazioni uniche di valori in colonne selezionate in data frame panda e contare
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']})
Quindi, miei dati assomiglia a questo
----------------------------
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
-----------------------------
lo farei piace trasformarlo in un altro frame di dati. Il risultato atteso può essere illustrato nel seguente script python:
output = pd.DataFrame({'A':['no','no','yes','yes'],'B':['no','yes','no','yes'],'count':[1,2,4,3]})
Quindi, la mia uscita prevista è simile al seguente
--------------------------------------------
index A B count
--------------------------------------------
0 no no 1
1 no yes 2
2 yes no 4
3 yes yes 3
--------------------------------------------
In realtà, posso ottenere per trovare tutte le combinazioni e le considero utilizzando la seguente comando: mytable = df1.groupby(['A','B']).size()
Tuttavia, risulta che tali combinazioni si trovano in una singola colonna. Vorrei separare ogni valore in una combinazione in una colonna diversa e aggiungere anche un'altra colonna per il risultato del conteggio. è possibile farlo? Posso avere i tuoi suggerimenti? Grazie in anticipo.
Oh. Grazie mille. Funziona perfettamente. –
Ehi, puoi spiegare come funziona questa sequenza di chiamate? Hai una cornice dati panda e hai le dimensioni su cui resisti reset_index e così via? Qualche spiegazione potrebbe aiutare: D – user2253546
@ user2253546 vedi risposta aggiornata – EdChum