У меня есть фрейм данных, содержащий несколько столбцов с 0 и 1 (A, B), а также один столбец (C), указывающий категорию строки. Теперь я хотел бы посчитать значения 0 и 1 для каждого столбца и категории.
import pandas as pd
test_data = {'A': [0,0,1,1,1,0],
'B': [0,1,0,1,0,1],
'C': ['a','a','b','b', 'c', 'c']}
df = pd.DataFrame(test_data)
Я попытался выяснить, как я могу изменить порядок данных, используя pd.piovt_table, однако мне не удалось получить правильное преобразование. Я пробовал следующее:
table = pd.pivot_table(df, columns = ['C'], index=['A'], aggfunc='count')
print('0', table)
, что приведет к следующему выводу:
0 B
C a b c
A
0 2.0 NaN 1.0
1 NaN 2.0 1.0
Моя цель - получить следующий вывод:
0 B | A # columns A and B
C a a b b c c | a a b b c c # row category based on C
0 1 0 1 0 1 | 0 1 0 1 0 1 # 0 and 1 values of the columns A and B
1 1 1 1 1 1 | 2 0 0 2 1 1 # counts
[Редактировать] или следующий вывод:
0 B | A # columns A and B
C a b c | a b c # row category based on C
0| 1 1 1 | 2 0 1
1| 1 1 1 | 0 2 1
Может ли кто-нибудь помочь мне с этим? Спасибо!