Eu tenho meus dados no quadro de dados do pandas da seguinte forma:
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']})
Então, meus dados se parecem com este
----------------------------
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
-----------------------------
Eu gostaria de transformá-lo em outro quadro de dados. A saída esperada pode ser mostrada no seguinte script Python:
output = pd.DataFrame({'A':['no','no','yes','yes'],'B':['no','yes','no','yes'],'count':[1,2,4,3]})
Então, minha saída esperada é assim
--------------------------------------------
index A B count
--------------------------------------------
0 no no 1
1 no yes 2
2 yes no 4
3 yes yes 3
--------------------------------------------
Na verdade, posso encontrar todas as combinações e contá-las usando o seguinte comando: mytable = df1.groupby(['A','B']).size()
No entanto, verifica-se que tais combinações estão em uma única coluna. Gostaria de separar cada valor em uma combinação em colunas diferentes e também adicionar mais uma coluna para o resultado da contagem. É possível fazer isso? Posso ter suas sugestões? Agradeço antecipadamente.
set_index()
. Continuei tentando usargroupby()
para agrupar linhas com um determinado par comum de colunas. Incrível, obrigado!