1
resposta

Dropar valores específicos de um pd.crosstab() ou fazer uma query

Eae pessoal !!!

Estou com a seguinte dificuldade, creio que não sou o único kk.

Tenho a seguinte tabela de cruzamento de dados:

freq_item_cat = pd.crosstab(data_copy.Item, data_copy.Categoria)

Ela gera uma tabela de frequência onde os índices são os itens e as colunas a categoria. Nessa tabela vem valores zerados (0). Oque eu quero é 'dropar' eles.

Creio que estou usando a lógica errada, pois se um item X pertence a categoria A ele certamente vai ser de frequência zero na categoria B certo ?

Como posso criar uma visualização mais enxuta desse cruzamento ?

VALEUUUU GALERA !

1 resposta

Boas kaio! Tudo bem? Eu fiz um DataFrame que creio copiar o que você pediu:

itenscategoria
0CanetaPapelaria
1CadeiraMóveis
2MesaMóveis
3LâmpadaMaterial de Construção
4Resma de papelPapelaria
5CartolinaPapelaria
6ArmárioMóveis
7ChicleteComida
8Bolo de CenouraComida

E também a tabela de frequências:

itensComidaMaterial de ConstruçãoMóveisPapelaria
Armário0010
Bolo de Cenoura1000
Cadeira0010
Caneta0001
Cartolina0001
Chiclete1000
Lâmpada0100
Mesa0010
Resma de papel0001

Entretanto, creio que se o interesse é no número de valores para cada categoria, podemos utilizar outros métodos para verificar a quantidade de itens por categorias, ou mesmo os itens de cada categoria.

Para verificar a quantidade de itens por categoria, pode-se usar a função value_counts():

pd.value_counts(categorias)
que retorna:
Móveis3
Papelaria3
Comida2
Material de Construção1

Ou então usar a groupby():

dados.groupby('categoria').sum()

que retorna:

categoriaitens
ComidaChiclete Bolo de Cenoura
Material de ConstruçãoLâmpada
MóveisCadeira Mesa Armário
PapelariaCaneta Resma de papel Cartolina

Espero ter ajudado! Bons estudos!