У меня есть данные в кадре данных pandas следующим образом:
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']})
Итак, мои данные выглядят как
----------------------------
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
-----------------------------
Я хотел бы преобразовать его в другой фрейм данных. Ожидаемый вывод может быть показан на следующем питоне script:
output = pd.DataFrame({'A':['no','no','yes','yes'],'B':['no','yes','no','yes'],'count':[1,2,4,3]})
Итак, мой ожидаемый результат выглядит так:
--------------------------------------------
index A B count
--------------------------------------------
0 no no 1
1 no yes 2
2 yes no 4
3 yes yes 3
--------------------------------------------
Фактически, я могу найти, чтобы найти все комбинации и подсчитать их, используя следующую команду: mytable = df1.groupby(['A','B']).size()
Однако оказывается, что такие комбинации находятся в одном столбце. Я хотел бы разделить каждое значение в комбинации на другой столбец, а также добавить еще один столбец для результата подсчета. Можно ли это сделать? Могу ли я предложить свои предложения? Заранее благодарю вас.