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.
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) 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
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']) 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.
“El interés compuesto es la octava maravilla del mundo. El que lo entiende lo gana…
Tienes los datos de ventas de tres productos en dos años distintos y quieres saber…
Imagina la situación. Tu equipo lleva tres años con un modelo en producción. No es…
Cuando un banco evalúa una solicitud de crédito necesita responder a una pregunta aparentemente simple:…
En el octavo aniversario de Analytics Lane seguimos ampliando nuestro laboratorio de aplicaciones interactivas y,…
Hoy, 2 de mayo de 2026, Analytics Lane cumple exactamente ocho años. Todo empezó con…
This website uses cookies.