#!/usr/bin/env python
# coding: utf-8

# # Calidad del dato
# ## Caso Calidad del aire

# In[3]:


import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

import warnings
warnings.filterwarnings('ignore')

pd.options.display.float_format = '{:.2f}'.format #Desactivar notación científica en pandas:
np.set_printoptions(suppress=True) #Desactivar notación científica en numpy:
pd.set_option('display.max_columns', None) #comando para mostrar todas las columnas


# In[4]:


df1 = pd.read_csv("./datos/calidad_1.csv", sep=",", decimal=".", encoding="WINDOWS-1252")


# In[5]:


df1.head()


# In[7]:


df1.info()


# In[89]:


df1.describe()


# In[90]:


#Tenemos valores perdidos, comprobamos por columna cuántos.
df1.isnull().sum(axis=0)


# In[91]:


# ¿Qué porcentaje de valores perdidos tenemos por columna?
df1.isnull().sum(axis=0)/df1.shape[0]


# In[92]:


# ¿Qué formato tienen las variables? 
df1.dtypes


# In[97]:


# De momento la variable date, no tiene formato fecha.  Lo modificamos.
df1['date'] = pd.to_datetime(df1.date)


# In[98]:


df1.dtypes


# In[100]:


# Enriquecemos el dataset, con nueva información
df1['dia'] = df1.date.dt.day
df1['mes'] = df1.date.dt.month
df1['anio'] = df1.date.dt.year


# In[79]:


#Reordenamos los datos
df1 = df1.iloc[:,[0,-3,-2,-1,1,2,3,4,5,6,7,8,9]]


# In[80]:


df1.columns


# In[104]:


# Los nombres son un poco crípticos.  Lo solucionamos
df1.columns = ['fecha', 'dia', 'mes', 'anio', 'velocidadviento', 'direccionviento', 'nox', 'no2', 'ozono', 'particulas10', 'so2', 'co', 'particulas25']


# In[105]:


df1.head()


# In[125]:


# Pintamos los datos para ver su distribución
import matplotlib.pyplot as plt
plt.plot(df1.fecha, df1.velocidadviento, 'o', color='blue')
plt.title('Velocidad viento', fontsize=20)
plt.xlabel('Fecha', fontsize=12)
plt.ylabel('m/s', fontsize=12)
plt.show()
plt.plot(df1.fecha, df1.particulas10, 'v', color='red')
plt.title('Partículas por millón', fontsize=20)
plt.xlabel('Fecha', fontsize=12)
plt.ylabel('pm10', fontsize=12)
plt.show()
plt.plot(df1.fecha, df1.so2, '2', color='green')
plt.title('Dioxido azufre', fontsize=20)
plt.xlabel('Fecha', fontsize=12)
plt.ylabel('so2', fontsize=12)
plt.show()


# In[ ]:




