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
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.

