Python

Importar solamente algunas columnas de un archivo con Pandas

Una de las formas más habituales para importar los datos para un análisis es mediante el uso de archivos. Los cuales, debido a que los conjuntos de datos no se generan específicamente para un análisis en concreto, generalmente contienen más información de la que es necesaria para el estudio que se necesita realizar. Siendo necesaria más memoria para trabajar con ellos. En Pandas las funciones para importar archivos CSV y Excel por defecto cargan el archivo completo (una hoja en el caso de Excel) en un DataFrame, incluyendo todas las columnas que no son necesarias. Veamos cómo se puede solucionar esto e importar solamente algunas columnas de un archivo con Pandas.

Generar un archivo de ejemplo

En lugar de descargar un archivo se puede crear uno usando el código de la entrada “Guardar y leer archivos CSV con Python”. Al ejecutar el siguiente código se crea un archivo CSV y otro excel con el contenido del DataFrame df.

import pandas as pd

data = {'first_name': ['Sigrid', 'Joe', 'Theodoric','Kennedy', 'Beatrix', 'Olimpia', 'Grange', 'Sallee'],
        'last_name': ['Mannock', 'Hinners', 'Rivers', 'Donnell', 'Parlett', 'Guenther', 'Douce', 'Johnstone'],
        'age': [27, 31, 36, 53, 48, 36, 40, 34],
        'amount_1': [7.17, 1.90, 1.11, 1.41, 6.69, 4.62, 1.01, 4.88],
        'amount_2': [8.06,  "?", 5.90,  "?",  "?", 7.48, 4.37,  "?"]}

df = pd.DataFrame(data, columns = ['first_name', 'last_name', 'age', 'amount_1', 'amount_2'])

df.to_csv('example.csv', index=False)
df.to_excel('example.xlsx', index=False)

Eliminar algunas columnas una vez importado el archivo

En este punto, sí para un análisis solamente son necesarias las columnas con el nombre y el apellido del cliente se puede importar el archivo y seleccionar únicamente aquellas necesarias. Las funciones de Pandas devuelven un DataFrame como el que se ha creado en la sección anterior.

pd.read_csv('example.csv')
  first_name  last_name  age  amount_1 amount_2
0     Sigrid    Mannock   27      7.17     8.06
1        Joe    Hinners   31      1.90        ?
2  Theodoric     Rivers   36      1.11      5.9
3    Kennedy    Donnell   53      1.41        ?
4    Beatrix    Parlett   48      6.69        ?
5    Olimpia   Guenther   36      4.62     7.48
6     Grange      Douce   40      1.01     4.37
7     Sallee  Johnstone   34      4.88        ?

Por lo que se puede usar loc para seleccionar únicamente las necesarias.

pd.read_csv('example.csv').loc[:, ('first_name', 'last_name')]
  first_name  last_name
0     Sigrid    Mannock
1        Joe    Hinners
2  Theodoric     Rivers
3    Kennedy    Donnell
4    Beatrix    Parlett
5    Olimpia   Guenther
6     Grange      Douce
7     Sallee  Johnstone

Importar solamente algunas columnas de un archivo con Pandas

El proceso anterior produce el resultado deseado, un DataFrame con las columnas 'first_name' y 'last_name'. Pero es más eficiente usar la propiedad usecols de read_csv() y read_excel() para importar solamente las columnas necesarias. Esta propiedad requiere una lista con las columnas del archivo que se desea importar, siendo posible obtener el resultado deseado con el siguiente código.

pd.read_csv('example.csv', usecols=['first_name', 'last_name'])
  first_name  last_name
0     Sigrid    Mannock
1        Joe    Hinners
2  Theodoric     Rivers
3    Kennedy    Donnell
4    Beatrix    Parlett
5    Olimpia   Guenther
6     Grange      Douce
7     Sallee  Johnstone

Algo que también se puede hacer para los archivos Excel.

pd.read_excel('example.xlsx', usecols=['first_name', 'last_name'])

Conclusiones

La propiedad usecols de las funciones read_csv() y read_excel() facilita importar solamente algunas columnas de un archivo con Pandas. Algo que nos permite trabajar con conjunto de datos más pequeños. Reduciendo así la necesidad de memoria y posiblemente acelerando los análisis al omitir la carga de datos innecesarios.

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Pandas

Recent Posts

Interés compuesto: la fuerza que multiplica tu dinero (y los errores que la anulan)

“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…

3 días ago

Cómo comparar datos con barras en Matplotlib: agrupadas, apiladas y porcentuales

Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…

5 días ago

Costes hundidos en ciencia de datos: cuándo mantener un modelo y cuándo migrar

Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…

1 semana ago

WOE e IV: La Base Matemática del Credit Scoring

Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…

2 semanas ago

Lanzamiento de la versión 1.0 del laboratorio de Analytics Lane con nuevas herramientas de scoring

En el octavo aniversario de Analytics Lane seguimos ampliando nuestro laboratorio de aplicaciones interactivas y,…

2 semanas ago

¡Analytics Lane cumple ocho años!

Hoy, 2 de mayo de 2026, Analytics Lane cumple exactamente ocho años. Todo empezó con…

2 semanas ago

This website uses cookies.