Python es una herramienta poderosa para manipular datos y, en particular, sobresale en la edición y actualización de archivos CSV. En este artículo, cubriremos ampliamente cómo manejar archivos CSV de manera eficiente utilizando Python, desde los conceptos básicos de lectura y escritura hasta técnicas avanzadas como filtrado de datos, agregación y manejo de errores. Explicaremos todo con ejemplos específicos de código para facilitar su comprensión.
¿Qué es un archivo CSV?
Un archivo CSV (Comma-Separated Values) es un formato de archivo de texto que almacena datos separados por comas. Generalmente, se utiliza para intercambiar datos entre bases de datos y hojas de cálculo. Cada línea representa un registro y cada columna representa un campo. Debido a su simplicidad y alta compatibilidad, los archivos CSV son ampliamente utilizados.
Cómo leer archivos CSV con Python
En Python, puedes leer archivos CSV fácilmente utilizando el módulo estándar csv
. A continuación, mostramos cómo hacerlo.
Lectura de archivos CSV con la biblioteca estándar
Primero, te mostramos cómo leer un archivo CSV utilizando el módulo csv
de Python.
import csv
# Especificar la ruta del archivo CSV
csv_file_path = 'data.csv'
# Abrir y leer el archivo CSV
with open(csv_file_path, mode='r', newline='') as file:
reader = csv.reader(file)
for row in reader:
print(row)
En este código, se utiliza csv.reader
para leer el archivo CSV línea por línea, y cada línea se devuelve como una lista.
Leer el contenido de un archivo CSV como un diccionario
A continuación, explicamos cómo utilizar csv.DictReader
para leer un archivo CSV en formato de diccionario. Este método utiliza la fila de encabezado como claves y cada fila de datos como un diccionario.
import csv
# Especificar la ruta del archivo CSV
csv_file_path = 'data.csv'
# Abrir y leer el archivo CSV
with open(csv_file_path, mode='r', newline='') as file:
reader = csv.DictReader(file)
for row in reader:
print(row)
En este código, cada fila se lee como un diccionario, donde las claves corresponden a los encabezados del archivo CSV y los valores a los datos correspondientes.
Con estos métodos, puedes leer fácilmente archivos CSV en Python. A continuación, explicaremos cómo realizar operaciones más avanzadas utilizando la biblioteca pandas.
Manipulación de archivos CSV con pandas
pandas es una biblioteca de Python diseñada para facilitar el análisis de datos, y permite realizar operaciones de lectura, edición y escritura de archivos CSV de manera muy sencilla. A continuación, presentamos las operaciones básicas con pandas.
Instalación de pandas
Primero, si no tienes instalada la biblioteca pandas, puedes instalarla con el siguiente comando:
pip install pandas
Leer un archivo CSV
Para leer un archivo CSV con pandas, utiliza la función read_csv
.
import pandas as pd
# Especificar la ruta del archivo CSV
csv_file_path = 'data.csv'
# Leer el archivo CSV como un DataFrame
df = pd.read_csv(csv_file_path)
# Mostrar el contenido del DataFrame
print(df)
En este código, read_csv
carga el archivo CSV en un DataFrame, que es una estructura de datos tabular de pandas.
Edición de archivos CSV
Con pandas, puedes editar datos de forma sencilla utilizando DataFrames. A continuación, mostramos algunas operaciones básicas de edición.
Añadir columnas
Para añadir una nueva columna, utiliza el siguiente código:
# Añadir una nueva columna llamada 'new_column' con un valor de 0 en todas las filas
df['new_column'] = 0
Filtrar filas específicas
Para filtrar filas según una condición, utiliza el siguiente código:
# Filtrar filas donde el valor de 'column_name' sea mayor que 10
filtered_df = df[df['column_name'] > 10]
Escribir datos en un archivo CSV
Para guardar el DataFrame editado en un archivo CSV, utiliza la función to_csv
.
# Guardar el DataFrame en un archivo CSV
df.to_csv('output.csv', index=False)
Este código guarda el contenido del DataFrame en un nuevo archivo CSV. La opción index=False
evita que se escriban los números de índice.
Con pandas, puedes realizar de forma integral las operaciones de lectura, edición y escritura de archivos CSV. A continuación, explicaremos cómo filtrar datos en archivos CSV.
Filtrar datos en archivos CSV
Filtrar datos en archivos CSV permite extraer solo los datos que cumplen con ciertos criterios. Con pandas, es fácil realizar la filtración de datos.
Método básico de filtrado
En pandas, se puede filtrar un DataFrame especificando condiciones. A continuación, se muestra un ejemplo básico de filtrado.
import pandas as pd
# Especificar la ruta del archivo CSV
csv_file_path = 'data.csv'
# Leer el archivo CSV como un DataFrame
df = pd.read_csv(csv_file_path)
# Filtrar filas donde el valor de 'column_name' cumple con una condición específica
filtered_df = df[df['column_name'] > 10]
# Mostrar el DataFrame filtrado
print(filtered_df)
Este código extrae las filas donde el valor de column_name
es mayor que 10.
Filtrado con múltiples condiciones
Es posible combinar varias condiciones para filtrar datos. A continuación, se muestra un ejemplo.
# Filtrar filas donde el valor de 'column1' es mayor que 10 y el valor de 'column2' es menor o igual a 5
filtered_df = df[(df['column1'] > 10) & (df['column2'] <= 5)]
# Mostrar el DataFrame filtrado
print(filtered_df)
Este código extrae las filas donde el valor de column1
es mayor que 10 y el valor de column2
es menor o igual a 5.
Filtrado de datos de texto
También es posible filtrar datos de texto. A continuación se muestra un ejemplo.
# Filtrar filas donde 'column_name' coincide con una cadena específica
filtered_df = df[df['column_name'] == 'specific_string']
# Mostrar el DataFrame filtrado
print(filtered_df)
Este código extrae las filas donde el valor de column_name
coincide con specific_string
.
Filtrado por coincidencia parcial
También es posible filtrar por coincidencias parciales. Por ejemplo, para extraer filas que contengan una cadena específica, se puede hacer lo siguiente.
# Filtrar filas donde 'column_name' contiene una cadena específica
filtered_df = df[df['column_name'].str.contains('substring')]
# Mostrar el DataFrame filtrado
print(filtered_df)
Este código extrae las filas donde column_name
contiene substring
.
Utilizando estos métodos de filtrado, es posible extraer los datos necesarios de manera eficiente. A continuación, se explicará cómo realizar la agregación de datos en un archivo CSV.
Agregar datos en archivos CSV
La agregación de datos es importante para resumir datos en función de ciertos criterios y obtener información estadística. Con pandas, es fácil realizar la agregación de datos. A continuación se presentan algunos métodos básicos de agregación.
Obtener estadísticas básicas de los datos
Primero, se muestra cómo obtener información estadística básica de todo el DataFrame.
import pandas as pd
# Especificar la ruta del archivo CSV
csv_file_path = 'data.csv'
# Leer el archivo CSV como un DataFrame
df = pd.read_csv(csv_file_path)
# Mostrar estadísticas básicas
print(df.describe())
Este código utiliza el método describe
para mostrar estadísticas básicas del DataFrame (media, desviación estándar, mínimo, máximo, etc.).
Agregación sobre columnas específicas
Para realizar una agregación en una columna específica, se puede hacer lo siguiente.
# Calcular la suma de 'column_name'
sum_value = df['column_name'].sum()
print(f"Sum of column_name: {sum_value}")
# Calcular la media de 'column_name'
mean_value = df['column_name'].mean()
print(f"Mean of column_name: {mean_value}")
Este código calcula la suma y la media de la columna column_name
.
Agregación por grupo
También es posible agrupar los datos por una columna específica y luego agregarlos. A continuación se muestra un ejemplo.
# Agrupar por 'group_column' y calcular la media de 'value_column'
grouped_df = df.groupby('group_column')['value_column'].mean()
print(grouped_df)
Este código agrupa los datos por group_column
y calcula la media de value_column
para cada grupo.
Agregación usando tablas dinámicas (pivot tables)
Para realizar agregaciones más complejas, se pueden utilizar tablas dinámicas.
# Crear una tabla dinámica
pivot_table = pd.pivot_table(df, values='value_column', index='index_column', columns='columns_column', aggfunc='sum')
print(pivot_table)
Este código crea una tabla dinámica que agrega los valores de value_column
según la combinación de index_column
y columns_column
.
Con estos métodos de agregación, es posible resumir los datos de un archivo CSV de manera eficiente y obtener información relevante. A continuación, se explicará cómo actualizar los datos en un archivo CSV.
Actualizar datos en archivos CSV
Actualizar los datos de un archivo CSV existente es una tarea importante para el mantenimiento y la corrección de datos. Con pandas, es fácil actualizar valores específicos en un DataFrame. A continuación, se muestra cómo hacerlo.
Actualizar un valor específico
Para actualizar un valor específico en el DataFrame, se puede especificar una condición y cambiar el valor correspondiente.
import pandas as pd
# Especificar la ruta del archivo CSV
csv_file_path = 'data.csv'
# Leer el archivo CSV como un DataFrame
df = pd.read_csv(csv_file_path)
# Actualizar 'target_column' en filas donde el valor de 'column_name' coincide con 'old_value'
df.loc[df['column_name'] == 'old_value', 'target_column'] = 'new_value'
# Mostrar el DataFrame actualizado
print(df)
Este código actualiza el valor de target_column
en las filas donde el valor de column_name
coincide con old_value
.
Actualizar múltiples valores a la vez
Para actualizar múltiples valores a la vez, se puede hacer lo siguiente.
# Actualizar múltiples valores basados en una condición
df.loc[df['column_name'] > 10, 'target_column'] = 'updated_value'
# Mostrar el DataFrame actualizado
print(df)
Este código actualiza el valor de target_column
en las filas donde el valor de column_name
es mayor que 10.
Actualizar un valor en todo el DataFrame
Para reemplazar un valor específico en todo el DataFrame, se puede hacer lo siguiente.
# Reemplazar un valor específico en todo el DataFrame
df.replace({'old_value': 'new_value'}, inplace=True)
# Mostrar el DataFrame actualizado
print(df)
Este código reemplaza old_value
con new_value
en todo el DataFrame.
Guardar los datos actualizados en un archivo CSV
Para guardar el DataFrame actualizado en un archivo CSV, se utiliza la función to_csv
.
# Guardar el DataFrame actualizado en un archivo CSV
df.to_csv('updated_data.csv', index=False)
Este código guarda el contenido del DataFrame actualizado en un nuevo archivo CSV. Al especificar index=False
, se evita que se incluyan los números de fila en el archivo.
Con estos métodos, es posible actualizar eficientemente los datos de un archivo CSV existente. A continuación, se explicará cómo añadir nuevos datos a un archivo CSV.
Agregar nuevos datos a un archivo CSV
Agregar nuevos datos a un archivo CSV existente es importante para ampliar la información y mantener un registro continuo de datos. Usando pandas, puedes agregar nuevos datos fácilmente a un archivo CSV existente. Aquí te mostramos cómo hacerlo.
Agregar una nueva fila al DataFrame
Para agregar nuevos datos al DataFrame, se utiliza el método append
.
import pandas as pd
# Especificar la ruta del archivo CSV
csv_file_path = 'data.csv'
# Leer el archivo CSV como un DataFrame
df = pd.read_csv(csv_file_path)
# Definir nuevos datos en formato de diccionario
new_data = {'column1': 'value1', 'column2': 'value2', 'column3': 'value3'}
# Agregar los nuevos datos al DataFrame
df = df.append(new_data, ignore_index=True)
# Mostrar el DataFrame actualizado
print(df)
En este código, los nuevos datos se definen en formato de diccionario y se agregan al DataFrame. Al especificar ignore_index=True
, se reinician los índices y se agrega una nueva fila.
Agregar múltiples filas nuevas
Si deseas agregar varias filas nuevas de datos al mismo tiempo, puedes hacerlo de la siguiente manera.
# Definir nuevos datos en formato de lista
new_data_list = [
{'column1': 'value1', 'column2': 'value2', 'column3': 'value3'},
{'column1': 'value4', 'column2': 'value5', 'column3': 'value6'}
]
# Agregar múltiples filas nuevas al DataFrame
df = df.append(new_data_list, ignore_index=True)
# Mostrar el DataFrame actualizado
print(df)
En este código, los nuevos datos se definen en formato de lista y se agregan varias filas al DataFrame de una sola vez.
Escribir los datos agregados en el archivo CSV
Para guardar el DataFrame actualizado en el archivo CSV existente, se utiliza la función to_csv
.
# Escribir el DataFrame actualizado en el archivo CSV
df.to_csv('data.csv', index=False)
En este código, el contenido del DataFrame se sobrescribe en el archivo CSV.
Agregar nuevos datos a un archivo CSV existente
También es posible anexar nuevos datos a un archivo CSV existente. En este caso, se utiliza mode='a'
(modo de adición).
# Crear un nuevo DataFrame con los datos
new_data_df = pd.DataFrame([{'column1': 'value1', 'column2': 'value2', 'column3': 'value3'}])
# Anexar los nuevos datos al archivo CSV existente
new_data_df.to_csv('data.csv', mode='a', header=False, index=False)
En este código, se utiliza un nuevo DataFrame para anexar los datos al archivo CSV existente. Al especificar header=False
, se evita que la fila del encabezado se vuelva a escribir.
Con estos métodos, puedes agregar datos de manera eficiente a un archivo CSV. A continuación, se explica cómo convertir un archivo CSV a otro formato.
Convertir un archivo CSV a otro formato
Convertir los datos de un archivo CSV a otro formato permite utilizar la información en diferentes aplicaciones y herramientas. Usando pandas, puedes convertir un archivo CSV a formatos como Excel o JSON. Aquí te mostramos cómo hacerlo.
Convertir un archivo CSV a Excel
Para convertir un archivo CSV a Excel con pandas, se utiliza el método to_excel
.
import pandas as pd
# Especificar la ruta del archivo CSV
csv_file_path = 'data.csv'
# Leer el archivo CSV como un DataFrame
df = pd.read_csv(csv_file_path)
# Escribir el DataFrame en un archivo Excel
excel_file_path = 'data.xlsx'
df.to_excel(excel_file_path, index=False)
print(f"El archivo CSV ha sido convertido a un archivo Excel ({excel_file_path}).")
En este código, los datos del archivo CSV se leen con el método read_csv
y se convierten a un archivo Excel con to_excel
.
Convertir un archivo CSV a JSON
De manera similar, puedes convertir un archivo CSV a JSON utilizando el método to_json
.
# Escribir el DataFrame en un archivo JSON
json_file_path = 'data.json'
df.to_json(json_file_path, orient='records', lines=True)
print(f"El archivo CSV ha sido convertido a un archivo JSON ({json_file_path}).")
En este código, el método to_json
se utiliza para convertir un DataFrame en un archivo JSON. Al especificar orient='records'
y lines=True
, cada fila se guarda como un objeto JSON independiente.
Convertir un archivo CSV a una base de datos SQL
Para importar los datos de un archivo CSV a una base de datos SQL, puedes usar SQLAlchemy.
from sqlalchemy import create_engine
# Crear el motor de conexión a la base de datos
engine = create_engine('sqlite:///data.db')
# Escribir el DataFrame en la base de datos SQL
df.to_sql('table_name', engine, if_exists='replace', index=False)
print("El archivo CSV ha sido convertido a una base de datos SQL.")
En este código, se usa una base de datos SQLite para convertir el DataFrame en una tabla SQL. Al especificar if_exists='replace'
, se reemplaza la tabla existente.
Convertir un archivo CSV a HTML
Para guardar los datos de un archivo CSV como una tabla HTML, se utiliza el método to_html
.
# Escribir el DataFrame en un archivo HTML
html_file_path = 'data.html'
df.to_html(html_file_path, index=False)
print(f"El archivo CSV ha sido convertido a un archivo HTML ({html_file_path}).")
En este código, el método to_html
se usa para convertir un DataFrame en un archivo HTML.
Con estos métodos, puedes convertir fácilmente los datos de un archivo CSV al formato que necesites. A continuación, se explica cómo procesar eficientemente archivos CSV grandes.
Procesamiento eficiente de archivos CSV grandes
Al procesar archivos CSV grandes, es necesario considerar la eficiencia de memoria y el rendimiento. Incluso al usar pandas, existen varias técnicas que pueden ayudarte a manejar grandes volúmenes de datos de manera eficiente.
Leer parcialmente un archivo CSV
Cargar un archivo CSV grande de una sola vez puede provocar falta de memoria. Leer solo las partes necesarias puede reducir el uso de memoria.
import pandas as pd
# Especificar la ruta del archivo CSV
csv_file_path = 'large_data.csv'
# Leer los datos parcialmente
chunksize = 10000 # Número de filas a leer por vez
for chunk in pd.read_csv(csv_file_path, chunksize=chunksize):
# Procesar cada fragmento
print(chunk.head())
En este código, se especifica chunksize
para leer el archivo CSV en fragmentos y procesar cada fragmento por separado.
Leer solo las columnas necesarias
Si no necesitas todas las columnas, especifica solo las que deseas leer para reducir el uso de memoria.
# Especificar las columnas necesarias para leer
columns_to_use = ['column1', 'column2', 'column3']
df = pd.read_csv(csv_file_path, usecols=columns_to_use)
# Mostrar los datos leídos
print(df.head())
En este código, se utiliza el parámetro usecols
para leer solo las columnas necesarias.
Optimizar los tipos de datos
Los tipos de datos predeterminados pueden consumir mucha memoria. Al especificar tipos de datos adecuados, puedes reducir el uso de memoria.
# Especificar los tipos de datos al leer
dtype_spec = {'column1': 'int32', 'column2': 'float32', 'column3': 'category'}
df = pd.read_csv(csv_file_path, dtype=dtype_spec)
# Mostrar los tipos de datos y los datos leídos
print(df.dtypes)
print(df.head())
En este código, se utiliza el parámetro dtype
para especificar los tipos de datos de cada columna.
Liberar memoria después del procesamiento
Para liberar memoria, elimina explícitamente los DataFrames que ya no son necesarios.
import gc
# Procesar los datos
# ...
# Eliminar el DataFrame innecesario
del df
gc.collect() # Llamar al recolector de basura para liberar memoria
En este código, se elimina el DataFrame y se llama al recolector de basura para liberar memoria.
Procesamiento paralelo con Dask
Usar Dask en lugar de pandas permite procesar grandes volúmenes de datos en paralelo.
import dask.dataframe as dd
# Leer el archivo CSV como un DataFrame de Dask
df = dd.read_csv(csv_file_path)
# Operaciones en el DataFrame de Dask
result = df.groupby('column1').sum().compute()
# Mostrar el resultado
print(result)
En este código, Dask se utiliza para leer el archivo CSV y realizar operaciones de forma paralela.
Con estas técnicas, puedes procesar archivos CSV grandes de manera eficiente. A continuación, se explica el manejo de errores y la validación de datos.
Manejo de errores y validación de datos
Al trabajar con archivos CSV, la gestión de errores y la validación de datos son cruciales para mantener la calidad de los datos. A continuación, se explica cómo usar pandas para validar datos y manejar errores.
Validación de datos
La validación de datos se realiza para comprobar la consistencia y precisión de los datos. A continuación, se describen métodos comunes de validación de datos.
Detección de valores faltantes
Se explica cómo detectar valores faltantes en un DataFrame.
import pandas as pd
# Especificar la ruta del archivo CSV
csv_file_path = 'data.csv'
# Leer el archivo CSV como un DataFrame
df = pd.read_csv(csv_file_path)
# Detección de valores faltantes
missing_values = df.isnull().sum()
print("Número de valores faltantes:\n", missing_values)
En este código, se utiliza el método isnull
para detectar valores faltantes y mostrar su cantidad.
Detección de datos duplicados
Se explica cómo detectar filas duplicadas en un DataFrame.
# Detección de filas duplicadas
duplicate_rows = df.duplicated().sum()
print("Número de filas duplicadas:", duplicate_rows)
En este código, se utiliza el método duplicated
para detectar filas duplicadas y mostrar su cantidad.
Detección de datos que cumplen condiciones específicas
Se valida si los datos cumplen ciertas condiciones específicas.
# Detectar filas donde el valor de 'column_name' sea negativo
invalid_data = df[df['column_name'] < 0]
print("Datos inválidos:\n", invalid_data)
En este código, se detectan las filas donde el valor de column_name
es un número negativo.
Gestión de errores
Se explican métodos para manejar adecuadamente los errores que pueden ocurrir al procesar un archivo CSV.
Gestión de errores durante la lectura
Se muestra cómo manejar errores que ocurren durante la lectura de un archivo CSV.
try:
df = pd.read_csv(csv_file_path)
except FileNotFoundError:
print(f"Archivo no encontrado: {csv_file_path}")
except pd.errors.EmptyDataError:
print("El archivo está vacío")
except pd.errors.ParserError:
print("Error al analizar el archivo")
En este código, se utiliza un bloque try-except
para manejar errores que pueden ocurrir al leer un archivo CSV.
Gestión de errores durante la conversión de datos
Se muestra cómo manejar errores que ocurren durante la conversión de tipos de datos.
# Manejo de errores al convertir 'column_name' a valores numéricos
df['column_name'] = pd.to_numeric(df['column_name'], errors='coerce')
print("Datos después de la conversión:\n", df)
En este código, se utiliza el método to_numeric
para convertir los datos a valores numéricos, reemplazando los valores no convertibles por NaN
.
Registro de errores
Se muestra cómo registrar los detalles de los errores en un archivo de registro.
import logging
# Configuración del registro
logging.basicConfig(filename='errors.log', level=logging.ERROR)
# Ejemplo de registro de un error
try:
df = pd.read_csv(csv_file_path)
except Exception as e:
logging.error("Ocurrió un error", exc_info=True)
En este código, se utiliza el módulo logging
para registrar errores en un archivo de registro.
Utilizando estos métodos, es posible manejar adecuadamente los errores durante el procesamiento de archivos CSV y mantener la calidad de los datos. A continuación, se explicará cómo realizar análisis de datos con archivos CSV.
Ejemplo práctico: Análisis de datos con archivos CSV
Realizar análisis de datos con archivos CSV permite obtener información valiosa de los datos. A continuación, se presentan técnicas básicas de análisis de datos utilizando pandas.
Carga y preprocesamiento de datos
Primero, cargamos el archivo CSV y realizamos el preprocesamiento de los datos.
import pandas as pd
# Especificar la ruta del archivo CSV
csv_file_path = 'data.csv'
# Leer el archivo CSV como un DataFrame
df = pd.read_csv(csv_file_path)
# Mostrar información básica de los datos
print(df.info())
# Comprobar valores faltantes
print("Número de valores faltantes:\n", df.isnull().sum())
# Manejo de valores faltantes (ejemplo: reemplazarlos con 0)
df.fillna(0, inplace=True)
En este código, se muestran las características básicas de los datos y se realiza el preprocesamiento reemplazando los valores faltantes con 0.
Cálculo de estadísticas básicas
Se calcula la estadística básica de los datos.
# Mostrar estadísticas básicas
print(df.describe())
En este código, se utiliza el método describe
para mostrar las estadísticas básicas del DataFrame.
Visualización de datos
La visualización de datos permite identificar tendencias y patrones de forma visual. Aquí se utilizan gráficos básicos con matplotlib.
import matplotlib.pyplot as plt
# Crear un histograma para 'column1'
df['column1'].hist()
plt.title('Histograma de Column 1')
plt.xlabel('Valores')
plt.ylabel('Frecuencia')
plt.show()
# Crear un gráfico de dispersión entre 'column1' y 'column2'
df.plot.scatter(x='column1', y='column2')
plt.title('Dispersión entre Column 1 y Column 2')
plt.xlabel('Column 1')
plt.ylabel('Column 2')
plt.show()
En este código, se crean un histograma y un gráfico de dispersión para visualizar la distribución de datos y relaciones entre columnas.
Agrupación y agregación de datos
Se agrupan los datos y se calculan agregados para obtener resultados específicos según ciertas condiciones.
# Agrupar por 'category_column' y calcular la suma de 'value_column'
grouped_df = df.groupby('category_column')['value_column'].sum()
print(grouped_df)
# Visualizar los datos agrupados con un gráfico de barras
grouped_df.plot(kind='bar')
plt.title('Valor total por categoría')
plt.xlabel('Categoría')
plt.ylabel('Valor total')
plt.show()
En este código, se agrupan los datos por categoría y se calcula el valor total por categoría, visualizándolo en un gráfico de barras.
Análisis de datos de series temporales
Se muestra cómo analizar datos de series temporales.
# Convertir la columna de fechas a tipo Datetime
df['date_column'] = pd.to_datetime(df['date_column'])
# Configurar la fecha como índice
df.set_index('date_column', inplace=True)
# Reagrupar los datos diarios a datos mensuales calculando el promedio
monthly_avg = df.resample('M').mean()
print(monthly_avg)
# Visualizar el promedio mensual en un gráfico de líneas
monthly_avg.plot()
plt.title('Promedio mensual de valores')
plt.xlabel('Mes')
plt.ylabel('Valor promedio')
plt.show()
En este código, los datos diarios se reagrupan a datos mensuales calculando el promedio y se visualizan en un gráfico de líneas.
Construcción de modelos de aprendizaje automático
Por último, se muestra cómo construir un modelo simple de aprendizaje automático utilizando datos de un archivo CSV.
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# Configurar características y variable objetivo
X = df[['feature1', 'feature2']]
y = df['target']
# Dividir los datos en conjuntos de entrenamiento y prueba
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Crear el modelo de regresión lineal
model = LinearRegression()
model.fit(X_train, y_train)
# Realizar predicciones con el conjunto de prueba
y_pred = model.predict(X_test)
# Evaluar el modelo
mse = mean_squared_error(y_test, y_pred)
print(f'Error cuadrático medio: {mse}')
En este código, se construye un modelo de regresión lineal, se entrena con datos de entrenamiento, se realizan predicciones con datos de prueba y se evalúa el desempeño del modelo.
Mediante estas técnicas, es posible analizar de manera efectiva los datos de un archivo CSV y extraer información valiosa. A continuación, se presentan ejercicios prácticos para aplicar lo aprendido.