Pandas read_csv() con ejemplo

Importar CSV en Pandas

Durante el tutorial de TensorFlow, utilizarรก el conjunto de datos para adultos. A menudo se utiliza con tareas de clasificaciรณn. Estรก disponible en esta URL. https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data

Los datos se almacenan en formato CSV. Este conjunto de datos incluye ocho variables categรณricas:

Este conjunto de datos incluye 8 variables categรณricas:

  • clase de trabajo
  • educaciรณn
  • marital
  • Ocupaciรณn.
  • relaciรณn
  • raza
  • vie
  • patria

Y 6 variables continuas:

  • edad
  • fnlwgt
  • nรบm_educaciรณn
  • ganancia capital
  • perdida de capital
  • horas_semana

Mรฉtodo pandas read_csv()

Para importar un conjunto de datos CSV, puede utilizar el objeto pd.read_csv(). El argumento bรกsico dentro es:

Sintaxis de pandas read_csv()

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • ruta_de_archivo_o_buffer: Ruta o URL con los datos
  • septiembre=โ€™,โ€™: Defina el delimitador a utilizar
  • `nombres=Ninguno`: Nombra las columnas. Si el conjunto de datos tiene diez columnas, debe pasar diez nombres
  • `index_col=Ninguno`: En caso afirmativo, la primera columna se utiliza como รญndice de fila.
  • `skipinitialspace=Falso`: salta espacios despuรฉs del delimitador.

Para obtener mรกs informaciรณn sobre read_csv(), consulte la documentaciรณn oficial:

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

Pandas read_csv() Ejemplo

## Import csv
import pandas as pd
## Define path data
COLUMNS = ['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

Salida:

(32561, 15)

Mรฉtodo Pandas groupby()

Una forma sencilla de ver los datos es utilizar el mรฉtodo groupby. Este mรฉtodo puede ayudarle a resumir los datos por grupo. A continuaciรณn se muestra una lista de mรฉtodos disponibles con el mรฉtodo groupby():

  • contar: contar
  • mรญn: mรญn.
  • mรกx: mรกximo
  • significar: significar
  • mediana: mediana
  • desviaciรณn estรกndar: sdt
  • etc.

Dentro de groupby(), puedes usar la columna en la que deseas aplicar el mรฉtodo.

Echemos un vistazo a un รบnico grupo con el conjunto de datos de adultos. Obtendrรก la media de todas las variables continuas por tipo de ingreso, es decir, por encima de 50k o por debajo de 50k:

df_train.groupby(['label']).mean()
Etiqueta edad fnlwgt nรบm_educaciรณn ganancia capital perdida de capital horas_semana
<= 50 K 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

Puedes obtener la edad mรญnima por tipo de hogar:

df_train.groupby(['label'])['age'].min()
label
<=50K    17
>50K     19
Name: age, dtype: int64

Tambiรฉn puede agrupar por varias columnas. Por ejemplo, puede obtener la mรกxima ganancia de capital segรบn el tipo de hogar y el estado civil.

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

Puedes crear un grรกfico despuรฉs de la agrupaciรณn. Una forma de hacerlo es utilizar un grรกfico despuรฉs de la agrupaciรณn.

Para crear un grรกfico mรกs excelente, usarรก unstack() despuรฉs de mean() para tener el mismo รญndice multinivel, o unirรก los valores por ingresos inferiores a 50k y superiores a 50k. En este caso, la trama tendrรก dos grupos en lugar de 14 (2*7).

Si utiliza Jupyter Notebook, asegรบrese de agregar %matplotlib en lรญnea, de lo contrario, no se mostrarรก ningรบn grรกfico

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

Ejemplo del mรฉtodo Pandas groupby()

Resumen

  • Para importar un conjunto de datos CSV en pandas, puedes usar el objeto pd.read_csv().
  • El mรฉtodo groupby() puede ayudarle a resumir los datos por grupo.
  • Tambiรฉn puede agrupar por varias columnas. Por ejemplo, puede obtener la mรกxima ganancia de capital segรบn el tipo de hogar y el estado civil.

Resumir este post con: