import pandas as pd
import numpy as np
import random
# Definir el número de robots y el periodo de tiempo
num_robots = 5
num_horas = 24 * 7 # Una semana
# Crear un rango de fechas y horas
fechas_horas = pd.date_range(start='2023-01-01', periods=num_horas, freq='H')
# Crear datos ficticios para cada robot
data = {
'Fecha_Hora': np.repeat(fechas_horas, num_robots),
'ID_Robot': np.tile(range(1, num_robots + 1), num_horas),
'Bateria': np.random.uniform(20, 100, num_robots * num_horas),
'Temperatura': np.random.uniform(15, 35, num_robots * num_horas),
'Estado': np.random.choice(['Activo', 'En espera', 'Reparación'], num_robots * num_horas)
}
df_robotica = pd.DataFrame(data)
df_robotica.to_csv('datos_robotica.csv', index=False)
En este código, hemos creado un conjunto de datos que simula métricas de robots a lo largo del tiempo. Cada robot tiene una ID única, y las métricas incluyen la batería, la temperatura y el estado del robot.
Paso 2: Análisis Exploratorio de Datos (EDA)
# Cargar datos desde el archivo CSV
df_robotica = pd.read_csv('datos_robotica.csv', parse_dates=['Fecha_Hora'])
# Mostrar las primeras filas del DataFrame
print(df_robotica.head())
# Estadísticas descriptivas
print("\nEstadísticas Descriptivas:")
print(df_robotica.describe())
# Visualizar la evolución de la batería para un robot específico
import matplotlib.pyplot as plt
robot_id = 1
plt.figure(figsize=(12, 6))
plt.plot(df_robotica[df_robotica['ID_Robot'] == robot_id]['Fecha_Hora'], df_robotica[df_robotica['ID_Robot'] == robot_id]['Bateria'])
plt.title(f'Evolución de la Batería para el Robot {robot_id}')
plt.xlabel('Fecha y Hora')
plt.ylabel('Nivel de Batería (%)')
plt.show()
RESULTADO :
Fecha_Hora ID_Robot Bateria Temperatura Estado
0 2023-01-01 1 78.817290 29.620473 Reparación
1 2023-01-01 2 36.725730 18.851981 Reparación
2 2023-01-01 3 63.315838 17.305640 En espera
3 2023-01-01 4 75.662752 23.435253 En espera
4 2023-01-01 5 38.284002 30.906837 Reparación
Estadísticas Descriptivas:
ID_Robot Bateria Temperatura
count 840.000000 840.000000 840.000000
mean 3.000000 60.940483 24.922455
std 1.415056 22.667106 5.721634
min 1.000000 20.187151 15.004750
25% 2.000000 41.655683 19.917473
50% 3.000000 62.007230 25.109524
75% 4.000000 79.712847 29.871688
max 5.000000 99.948280 34.926716
Aquí, realizamos un análisis exploratorio básico. Cargamos los datos, mostramos las primeras filas y estadísticas descriptivas. Además, visualizamos la evolución de la batería para un robot específico a lo largo del tiempo.
Paso 3: Visualización Multivariable
# Visualizar la relación entre temperatura y nivel de batería
plt.figure(figsize=(10, 6))
plt.scatter(df_robotica['Temperatura'], df_robotica['Bateria'], c=df_robotica['ID_Robot'], cmap='viridis', alpha=0.7)
plt.colorbar(label='ID del Robot')
plt.title('Relación entre Temperatura y Nivel de Batería')
plt.xlabel('Temperatura (°C)')
plt.ylabel('Nivel de Batería (%)')
plt.show()
CONCLUSIONES:
En este paso, utilizamos un gráfico de dispersión para explorar la relación entre la temperatura y el nivel de batería de todos los robots.
Este es un ejemplo básico de creación y análisis de un conjunto de datos aplicado a la robótica. Puedes personalizar y expandir este proyecto según las métricas específicas que sean relevantes para tus necesidades. Recuerda que los datos utilizados son ficticios y con fines educativos. En aplicaciones prácticas, utilizarías datos reales y ajustarías el análisis en consecuencia.
No hay comentarios:
Publicar un comentario