mam danych w ramce danych Pandy następująco:unikatowe kombinacje wartości w wybranych kolumnach w ramce danych Pandy i liczyć
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']})
Więc moje dane wygląda to
----------------------------
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
-----------------------------
bym jak przekształcić go w inną ramkę danych. Oczekiwany wynik można przedstawić w następujący skrypt Pythona:
output = pd.DataFrame({'A':['no','no','yes','yes'],'B':['no','yes','no','yes'],'count':[1,2,4,3]})
Tak, mój oczekiwany wynik wygląda tak
--------------------------------------------
index A B count
--------------------------------------------
0 no no 1
1 no yes 2
2 yes no 4
3 yes yes 3
--------------------------------------------
Właściwie mogę osiągnąć, aby znaleźć wszystkie kombinacje i policzyć je za pomocą następujących command: mytable = df1.groupby(['A','B']).size()
Jednak okazuje się, że takie kombinacje są w jednej kolumnie. Chciałbym oddzielić każdą wartość w kombinacji na inną kolumnę, a także dodać jeszcze jedną kolumnę dla wyniku zliczania. czy jest to możliwe do zrobienia? Czy mogę otrzymać Twoje sugestie? Z góry dziękuję.
Oh. Dziękuję Ci bardzo. Działa idealnie. –
Hej, możesz wyjaśnić, jak działa ta sekwencja połączeń? Masz ramkę danych o pandach, a następnie masz rozmiar, na którym resetujesz index i tak dalej? Kilka wyjaśnień może pomóc: D – user2253546
@ user2253546 zobacz zaktualizowaną odpowiedź – EdChum