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