У мене є дані у фреймі даних 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
-----------------------------
Я хотів би перетворити його на інший фрейм даних. Очікуваний результат може бути показаний у наступному скрипті python:
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()
Однак виявляється, що такі комбінації є в одній колонці. Я хотів би розділити кожне значення в комбінації на інший стовпець, а також додати ще один стовпець для результату підрахунку. Чи можна це зробити? Чи можу я отримати ваші пропозиції? Спасибі заздалегідь.
set_index()
. Продовжував намагатися використовуватиgroupby()
для групування рядків з певною загальною парою стовпців. Дивно, дякую!