В python3 и pandas у меня есть этот dataframe:
df_selecao_atual.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 63 entries, 2 to 72
Data columns (total 24 columns):
nome 63 non-null object
nome_completo 63 non-null object
partido 63 non-null object
uf 63 non-null object
cargo_parlamentar 63 non-null object
tipo 63 non-null object
classe 63 non-null object
numero 63 non-null object
único 63 non-null object
assunto 63 non-null object
data_inicial 63 non-null object
data_final 63 non-null object
andamento 63 non-null object
link 63 non-null object
transparencia 63 non-null object
conferencia 63 non-null object
data_conferencia 63 non-null object
resumo 62 non-null object
observacao 60 non-null object
link_noticia_tribunal 22 non-null object
interessa 62 non-null object
ministro_relator 63 non-null object
processo_conectado 20 non-null object
situacao 63 non-null object
dtypes: object(24)
memory usage: 12.3+ KB
В столбце "nomes" есть имена людей. У столбца "типос" есть типы процессов, которые у этих людей есть - "INQ" или "AP",
Я сделал сводную таблицу, чтобы подсчитать, сколько типов процессов у каждого есть:
df_selecao_atual.pivot_table('tipo','nome',aggfunc='count').fillna(0).astype(int)
tipo
nome
ARTHUR LIRA 10
BENEDITO DE LIRA 3
CÉSAR MESSIAS 2
CÍCERO ALMEIDA 4
FERNANDO COLLOR 12
FLAVIANO MELO 4
GLADSON CAMELI 3
JORGE VIANA 5
MARX BELTRÃO 1
MAURÍCIO QUINTELLA LESSA 1
PAULÃO 2
RENAN CALHEIROS 3
ROCHA 1
RONALDO LESSA 3
SIBÁ MACHADO 1
SÉRGIO PETECÃO 8
Но результат просто подсчитывает, сколько строк в столбце "tipo"
Я ищу такой результат:
ARTHUR LIRA
INQ 9
AP 1
BENEDITO DE LIRA
INQ 3
AP 0
CÉSAR MESSIAS
INQ 1
AP 1
...
То есть подсчитайте количество типов "INQ" и "AP" в каждом имени
Пожалуйста, кто-нибудь знает, как я могу это сделать?
Пример данных:
df_selecao_atual[['nome','tipo']]
nome tipo
2 CÉSAR MESSIAS INQ
3 CÉSAR MESSIAS AP
4 FLAVIANO MELO INQ
5 FLAVIANO MELO INQ
6 FLAVIANO MELO AP
7 FLAVIANO MELO INQ
10 ROCHA AP
13 SIBÁ MACHADO INQ
14 GLADSON CAMELI INQ
15 GLADSON CAMELI INQ
16 GLADSON CAMELI INQ
17 JORGE VIANA INQ
18 JORGE VIANA INQ
19 JORGE VIANA INQ
20 JORGE VIANA INQ
21 JORGE VIANA INQ
22 SÉRGIO PETECÃO INQ
23 SÉRGIO PETECÃO INQ
...
Ты можешь использовать:
df_selecao_atual.pivot_table(index=['tipo','nome'],aggfunc='size')
Или же:
df_selecao_atual.groupby(['tipo','nome']).size()
.sort_index(level=['nome'])