Importar dados CSV usando Pandas.read_csv ()

Índice:

Anonim

Neste tutorial, você aprenderá:

  • Importar CSV
  • Groupby

Importar CSV

Durante o tutorial do TensorFlow, você usará o conjunto de dados adulto. É freqüentemente usado com tarefas de classificação. Ele está disponível neste URL https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Os dados são armazenados em formato CSV. Este conjunto de dados inclui oito variáveis ​​categóricas:

Este conjunto de dados inclui oito variáveis ​​categóricas:

  • classe de trabalho
  • Educação
  • conjugal
  • ocupação
  • relação
  • raça
  • sexo
  • país nativo

além disso, seis variáveis ​​contínuas:

  • idade
  • fnlwgt
  • educação_num
  • Ganho de capital
  • capital_loss

horas_semana

Para importar um conjunto de dados CSV, você pode usar o objeto pd.read_csv (). O argumento básico interno é:

Sintaxe:

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • filepath_or_buffer: caminho ou URL com os dados
  • sep = ',': Defina o delimitador a ser usado
  • `names = None`: Nomeie as colunas. Se o conjunto de dados tiver dez colunas, você precisa passar dez nomes
  • `index_col = None`: Se sim, a primeira coluna é usada como um índice de linha
  • `skipinitialspace = False`: pula os espaços após o delimitador.

Para obter mais informações sobre readcsv (), verifique a documentação oficial

https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html.

Considere o seguinte exemplo

## Import csvimport pandas as pd## Define path dataCOLUMNS = ['age','workclass', 'fnlwgt', 'education', 'education_num', 'marital','occupation', 'relationship', 'race', 'sex', 'capital_gain', 'capital_loss','hours_week', 'native_country', 'label']PATH = "https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data"df_train = pd.read_csv(PATH,skipinitialspace=True,names = COLUMNS,index_col=False)df_train.shape

Resultado:

(32561, 15)

Groupby

Uma maneira fácil de ver os dados é usar o método groupby. Este método pode ajudá-lo a resumir os dados por grupo. Abaixo está uma lista de métodos disponíveis com groupby:

  • contar: contar
  • min: min
  • max: max
  • significa: significa
  • mediana: mediana
  • desvio padrão: sdt
  • etc

Dentro de groupby (), você pode usar a coluna na qual deseja aplicar o método.

Vamos dar uma olhada em um único agrupamento com o conjunto de dados adulto. Você obterá a média de todas as variáveis ​​contínuas por tipo de receita, ou seja, acima de 50k ou abaixo de 50k

df_train.groupby(['label']).mean() 
idade fnlwgt educação_num Ganho de capital capital_loss horas_semana
rótulo
<= 50K 36,783738 190340.86517 9.595065 148,752468 53,142921 38.840210
> 50K 44.249841 188005,00000 11.611657 4006.142456 195,001530 45,473026

Você pode obter a idade mínima por tipo de família

df_train.groupby (['rótulo']) ['idade']. min ()

label<=50K 17>50K 19Name: age, dtype: int64 

Você também pode agrupar por várias colunas. Por exemplo, você pode obter o ganho de capital máximo de acordo com o tipo de família e estado civil.

df_train.groupby(['label', 'marital'])['capital_gain'].max()label marital<=50K Divorced 34095Married-AF-spouse 2653Married-civ-spouse 41310Married-spouse-absent 6849Never-married 34095Separated 7443Widowed 6849>50K Divorced 99999Married-AF-spouse 7298Married-civ-spouse 99999Married-spouse-absent 99999Never-married 99999Separated 99999Widowed 99999Name: capital_gain, dtype: int64

Você pode criar um gráfico seguindo groupby. Uma maneira de fazer isso é usar um gráfico após o agrupamento.

Para criar um gráfico mais excelente, você usará unstack () após mean () para que tenha o mesmo índice multinível, ou junte os valores por receita inferior a 50k e acima de 50k. Nesse caso, o gráfico terá dois grupos em vez de 14 (2 * 7).

Se você usar o Jupyter Notebook, certifique-se de adicionar% matplotlib embutido, caso contrário, nenhum gráfico será exibido

%matplotlib inlinedf_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()df_plot