Como explorar e resumir variáveis ​​categóricas em um dataframe com Python

Jan 03 2023
Como cientista de dados, é importante entender as variáveis ​​em seu conjunto de dados e como elas estão relacionadas entre si. As variáveis ​​categóricas, que assumem um número limitado de valores, podem fornecer informações valiosas sobre os dados.

Como cientista de dados, é importante entender as variáveis ​​em seu conjunto de dados e como elas estão relacionadas entre si. As variáveis ​​categóricas, que assumem um número limitado de valores, podem fornecer informações valiosas sobre os dados. Exploraremos maneiras de identificar e resumir variáveis ​​categóricas em um dataframe usando Python.

Primeiro, vamos começar importando as bibliotecas necessárias:

importar numpy como np
importar pandas como pd
importar seaborn como sns
importar matplotlib.pyplot como plt

Em seguida, carregaremos um conjunto de dados em um dataframe. Para este exemplo, usaremos o conjunto de dados Titanic da biblioteca Seaborn:

df = sns.load_dataset(“titanic”)

Agora, vamos criar uma lista cat_colscontendo os nomes de todas as colunas categóricas no dataframe. Podemos fazer isso iterando pelas colunas do dataframe e verificando se o tipo de dados é "categoria", "objeto" ou "bool":

cat_cols = [col for col in df.columns if str(df[col].dtypes) in [“category”, “object”, “bool”]]

Além dessas colunas categóricas, também podemos considerar colunas numéricas que tenham um pequeno número de valores exclusivos como possíveis variáveis ​​categóricas. Podemos criar uma lista num_but_catpara essas colunas iterando pelas colunas numéricas (aquelas com tipos de dados "int64" ou "float") e verificando se elas têm menos de 10 valores únicos (o número de 10 que determinamos aqui pode variar dependendo a situação, você pode determinar isso fazendo uma estimativa no conjunto de dados que você encontra):

num_but_cat = [col for col in df.columns if df[col].nunique() < 10 and df[col].dtypes in [“int64”, “float”]]

Por outro lado, algumas colunas podem ser rotuladas como categóricas, mas na verdade podem ser variáveis ​​numéricas. Por exemplo, uma coluna contendo IDs ou nomes exclusivos pode não ter nenhum significado inerente e não deve ser tratada como categórica. Podemos criar uma lista cat_but_numpara essas colunas iterando pelas colunas categóricas (aquelas com tipos de dados "categoria" ou "objeto") e verificando se elas têm mais de 20 valores exclusivos. O número 20 é fornecido aqui como exemplo e, quando você vê dados com muitos IDs exclusivos no conjunto de dados em que está interessado, precisa especificar um número para decidir se é significativo ou não:

cat_but_num = [col for col in df.columns if df[col].nunique() > 20 and str(df[col].dtypes) in [“category”, “object”]]

Agora que identificamos as colunas categóricas, podemos criar uma lista final cat_colsque inclua todas as colunas categóricas verdadeiras, bem como as colunas numéricas que podem ser tratadas como categóricas. Podemos fazer isso combinando as listas cat_colse num_but_cate removendo todas as colunas que estão em cat_but_num:

cat_cols = cat_cols + num_but_cat
cat_cols = [col for col in cat_cols if col not in cat_but_num]

As variáveis ​​categóricas são importantes na análise de dados porque podem fornecer informações valiosas sobre as relações entre as variáveis ​​e as características dos dados. Por exemplo, no conjunto de dados do Titanic, as variáveis ​​categóricas “sexo” e “classe” podem estar relacionadas à variável “sobreviveu”, que indica se um passageiro sobreviveu ao naufrágio do Titanic. Ao examinar as contagens e proporções dessas variáveis, podemos obter uma melhor compreensão dos fatores que podem ter contribuído para a sobrevivência de um passageiro.

Além disso, variáveis ​​categóricas podem ser usadas como preditores em modelos de aprendizado de máquina, como modelos de classificação ou regressão. Ao codificar as variáveis ​​categóricas e incluí-las como recursos de entrada, podemos treinar um modelo para fazer previsões com base nessas variáveis.

Existem algumas razões pelas quais é importante identificar variáveis ​​categóricas em um conjunto de dados:

  1. As variáveis ​​categóricas podem fornecer informações valiosas sobre as relações entre as variáveis ​​e as características dos dados. Ao examinar as contagens e proporções de diferentes categorias, podemos obter uma melhor compreensão dos fatores que podem estar relacionados a um determinado resultado ou fenômeno.
  2. As variáveis ​​categóricas podem ser usadas como preditores em modelos de aprendizado de máquina. Ao codificar as variáveis ​​categóricas e incluí-las como recursos de entrada, podemos treinar um modelo para fazer previsões com base nessas variáveis.
  3. Variáveis ​​categóricas podem requerer tratamento especial na análise e visualização de dados. Por exemplo, eles podem precisar ser codificados ou transformados para serem usados ​​em certos testes ou gráficos estatísticos.