Python: procesamiento de datos CSV

La lectura de datos de CSV (valores separados por comas) es una necesidad fundamental en la ciencia de datos. A menudo obtenemos datos de varias fuentes que se pueden exportar en formato CSV para que otros sistemas puedan usarlos. La biblioteca Panadas proporciona funciones con las que podemos leer un archivo CSV en su totalidad, así como en partes solo para un grupo seleccionado de columnas y filas.

Ingrese como archivo CSV

Un archivo CSV es un archivo de texto con los valores en las columnas separados por comas. Echemos un vistazo a los siguientes datos presentes en un archivo llamado input.csv

Puede crear este archivo usando el Bloc de notas de Windows copiando y pegando estos datos. Guarde el archivo como input.csv usando la opción «Guardar como todos los archivos (*. *)» en el bloc de notas.

id,name,salary,start_date,dept
1,Rick,623.3,2012-01-01,IT
2,Dan,515.2,2013-09-23,Operations
3,Tusar,611,2014-11-15,IT
4,Ryan,729,2014-05-11,HR
5,Gary,843.25,2015-03-27,Finance
6,Rasmi,578,2013-05-21,IT
7,Pranab,632.8,2013-07-30,Operations
8,Guru,722.5,2014-06-17,Finance

Leer un archivo CSV

EN read_csv La función de la biblioteca de pandas se utiliza para leer el contenido de un archivo CSV en el entorno de Python como un DataFrame de pandas. La función puede leer archivos del sistema operativo utilizando la ruta de archivo correcta.

import pandas as pd
data = pd.read_csv('path/input.csv')
print (data)

Cuando ejecutamos el código anterior, da el siguiente resultado. Observe cómo la función ha creado una columna de base cero adicional como índice.

   id    name  salary  start_date        dept
0   1    Rick  623.30  2012-01-01          IT
1   2     Dan  515.20  2013-09-23  Operations
2   3   Tusar  611.00  2014-11-15          IT
3   4    Ryan  729.00  2014-05-11          HR
4   5    Gary  843.25  2015-03-27     Finance
5   6   Rasmi  578.00  2013-05-21          IT
6   7  Pranab  632.80  2013-07-30  Operations
7   8    Guru  722.50  2014-06-17     Finance

Leer líneas específicas

EN read_csv La función de biblioteca de pandas también se puede utilizar para leer algunas filas específicas para una columna determinada. Cortamos el resultado de la función read_csv usando el código que se muestra a continuación para las primeras 5 filas de una columna llamada salario.

import pandas as pd
data = pd.read_csv('path/input.csv')

# Slice the result for first 5 rows
print (data[0:5]['salary'])

Cuando ejecutamos el código anterior, da el siguiente resultado.

0    623.30
1    515.20
2    611.00
3    729.00
4    843.25
Name: salary, dtype: float64

Leer columnas específicas

EN read_csv La función de biblioteca de pandas también se puede utilizar para leer algunas columnas específicas. Usamos un método de indexación multieje llamado .loc () para esto. Hemos optado por mostrar la columna de salario y el nombre de todas las filas.

import pandas as pd
data = pd.read_csv('path/input.csv')

# Use the multi-axes indexing funtion
print (data.loc[:,['salary','name']])

Cuando ejecutamos el código anterior, da el siguiente resultado.

   salary    name
0  623.30    Rick
1  515.20     Dan
2  611.00   Tusar
3  729.00    Ryan
4  843.25    Gary
5  578.00   Rasmi
6  632.80  Pranab
7  722.50    Guru

Leer columnas y filas específicas

EN read_csv La función de la biblioteca de pandas también se puede utilizar para leer algunas columnas y filas específicas. Usamos un método de indexación multieje llamado .loc () para esto. Decidimos mostrar las columnas de salario y nombre para algunas filas.

import pandas as pd
data = pd.read_csv('path/input.csv')

# Use the multi-axes indexing funtion
print (data.loc[[1,3,5],['salary','name']])

Cuando ejecutamos el código anterior, da el siguiente resultado.

   salary   name
1   515.2    Dan
3   729.0   Ryan
5   578.0  Rasmi

Leer columnas específicas para un rango de filas

EN read_csv La función de la biblioteca de pandas también se puede usar para leer algunas columnas específicas y un rango de filas. Usamos una técnica de indexación de múltiples ejes llamada .loc () para esto. Hemos optado por mostrar la columna de salario y el nombre de algunas de las filas.

import pandas as pd
data = pd.read_csv('path/input.csv')

# Use the multi-axes indexing funtion
print (data.loc[2:6,['salary','name']])

Cuando ejecutamos el código anterior, da el siguiente resultado.

   salary    name
2  611.00   Tusar
3  729.00    Ryan
4  843.25    Gary
5  578.00   Rasmi
6  632.80  Pranab

🚫