data1 = pd.read_excel('../Data/Datos_2015.xlsx', sheetname='Centro')
data2 = pd.read_excel('../Data/Datos_2015.xlsx', sheetname='Atemajac')
data3 = pd.read_excel('../Data/Datos_2015.xlsx', sheetname='Tlaquepaque')
data4 = pd.read_excel('../Data/Datos_2015.xlsx', sheetname='aguilas')
#%%
CO1 = pd.DataFrame(data1['CO'])
CO1.columns = ['CO1']
CO2 = pd.DataFrame(data2['CO'])
CO2.columns = ['CO2']
CO3 = pd.DataFrame(data3['CO'])
CO3.columns = ['CO3']
CO4 = pd.DataFrame(data4['CO'])
CO4.columns = ['CO4']

CO_total = CO1.join(CO2).join(CO3).join(CO4).dropna()
mireporte1 = mylib.dqr(CO_total)

#%% Aplicar la distancia euclideana sin normalizar
D1 = sc.squareform(sc.pdist(CO_total.T, 'euclidean'))

#%%
PM10_1 = pd.DataFrame(data1['PM10'])
PM10_1.columns = ['PM10_1']
PM10_2 = pd.DataFrame(data2['PM10'])
PM10_2.columns = ['PM10_2']
PM10_3 = pd.DataFrame(data3['PM10'])
PM10_3.columns = ['PM10_3']
PM10_4 = pd.DataFrame(data4['PM10'])
PM10_4.columns = ['PM10_4']

PM10_total = PM10_1.join(PM10_2).join(PM10_3).join(PM10_4).dropna()
Exemple #2
0
@author: israelcastilloh
"""

import pandas as pd
import numpy as np
import sklearn.metrics as skm
import scipy.spatial.distance as sc
from mylib import mylib
#%% Leer los datos de la encuesta

data = pd.read_excel('../Data/Test de películas(1-16).xlsx',
                     encoding='latin_1')  #para leer sin acentos

#%% VOLVER A APLICAR EL DQR
mireporte = mylib.dqr(data)

#%% Seleccionar las columnas con calificaciones

csel = np.arange(6, 243, 3)
cnames = list(data.columns.values[csel])
datan = data[cnames]

#%% Valoración promedio por pelicula
movie_prom = datan.mean(axis=0)  #por pelicula calif
user_prom = datan.mean(axis=1)  #por usuario calif

#%% ELEGIR LAS COLUMNAS PARA CONVERTIRLAS A DUMMIES
indx = np.array(data.dtypes == 'int64')
col_list = list(data.columns.values[indx])
data_int = data[col_list]
Exemple #3
0
# -*- coding: utf-8 -*-
"""
Created on Wed Jan 22 10:27:36 2020

@author: USUARIO
"""
import numpy as np
import pandas as pd
from mylib import mylib

data_dir = '../Data/weatherAUS.csv'
lluvia_AUS = pd.read_csv(data_dir)

# Utilizar mi función para el reporte del csv
mi_reporte = mylib.dqr(lluvia_AUS)
Exemple #4
0
from mylib import mylib
from sklearn.preprocessing import PolynomialFeatures

#%%
Data = pd.read_csv('Digitt.csv', index_col='id')
data = Data.iloc[:, 0:20]
data = data.join(Data.rate_0).join(Data.loan_amount_0)
data.amount_to_be_lend[np.isnan(
    data.amount_to_be_lend
)] = data.total_debt[np.isnan(
    data.amount_to_be_lend
)]  # llenamos todos los nan faltantes en amount_to_be_lend con los total_debt (ya que usualmente asi se comportan.)
#plt.hist(data.age,bins=20) # Edad de las personas que piden el servicio
#plt.hist(data.score,bins=20) # el 'score' esta distribuido de forma casi plana.
#pd.value_counts(data.status).plot(kind='bar') # Se acepta casi a la mitad de las personas que solicitan el servicio
reporte = mylib.dqr(data)
#%% Para Status. Accepted vs Rejected.
# Limpieza de base de datos.
stat = data.drop(columns=['reasson', 'payment_status', 'created_at'])
sts = mylib.dqr(stat)

Quant = stat.loc[:, [
    'income', 'age', 'score', 'icc', 'rate', 'total_debt', 'amount_to_be_lend'
]]
#Dummies = stat.loc[:,['gender', 'housing_type','occupancy_type','level_of_studies','state','marital_status']]
Dummies = stat.loc[:, [
    'gender', 'housing_type', 'occupancy_type', 'level_of_studies',
    'marital_status'
]]
Y = pd.get_dummies(stat.status)
### DATA QUALITY REPORT 

import pandas as pd
import numpy as np
from mylib import mylib


#%% Leer datos
accidents = pd.read_csv('../Data/Accidents_2015.csv')
casualties = pd.read_csv('../Data/Casualties_2015.csv')
vehicles = pd.read_csv('../Data/Vehicles_2015.csv')
    #accidents = pd.read_csv('Accidents_2015.csv')
    
 #%% Usar la funcion dqr()   
reporte_accidents = mylib.dqr(accidents)
reporte_casualties = mylib.dqr(casualties)
reporte_vehicles = mylib.dqr(vehicles)

#%% Consultas senciillas a un dataframe

Num_by_date = pd.DataFrame(pd.value_counts(accidents['Date']))
vehicles_day = pd.DataFrame(accidents.groupby(['Date'])['Number_of_Vehicles'].sum())
number_vehicles = pd.DataFrame(pd.value_counts(accidents['Number_of_Vehicles']))
casualties_day = pd.DataFrame(accidents.groupby(['Date'])['Number_of_Casualties'].sum())

vehicles_m = pd.DataFrame(pd.value_counts(vehicles['Sex_of_Driver']))

result = Num_by_date.join(vehicles_day).join(casualties_day)

vehicles_by_time = (accidents.groupby(['Time'])['Number_of_Vehicles'].sum())
Exemple #6
0
from mylib import mylib 
import pandas as pd
import numpy as np 
import matplotlib.pyplot as plt

data= pd.read_csv('../DATA/datos_matricula_carrera_2.1718_feb-jul_2018.csv', encoding='latin1')
data =data.iloc[:-1,:-1]
data=data.drop(['Entidad','Periodo'],axis=1)
reporte_calidad = mylib.dqr(data)
 
 #%%
modelo = pd.value_counts(data['Modelo educativo'])
carreras=pd.value_counts(data['Carrera Profesional Tecnico -Bachiller'])
plantel=pd.value_counts(data['Plantel'])

indice = pd.DataFrame(plantel.index.values)
indice = pd.DataFrame(np.array(indice))

#%% modelos educativos
modelo.plot.bar(title = 'Modelos educativos')
plt.ylabel('# carreras')
plt.xlabel('Modelo')

#%% Matriculas por plantel
indice = np.array(indice)
arr = []
data.index= data.Plantel
for k in indice:
    da= data.loc[k]
    arr.append(sum(da.Matricula))
arr = np.array(arr)
# -*- coding: utf-8 -*-
"""
Created on Wed Oct 23 20:19:29 2019

@author: Ariadna
"""
#importamos librerias
import pandas as pd
from mylib import mylib
#%% importamos la base de datos
data = pd.read_excel(
    'file:///C:/Users/Ariadna/Desktop/CIFIV/Copia de M9 M2 AIW segmentation September WD4 - Oscar(2091).xlsx',
    sheet_name='Raw data 8XX')
#removemos las columnas vacias
data.drop(data.iloc[:, 30:], inplace=True, axis=1)
#creamos un reporte de los datos que vamos a analizar
reporte = mylib.dqr(data)
Exemple #8
0
"""
Created on Wed Feb 12 10:21:39 2020

@author: USUARIO
"""
import pandas as pd
import sklearn.metrics as skm
import scipy.spatial.distance as sc
from mylib import mylib
import numpy as np

#%% Importar los datos
accidents = pd.read_csv('../Data/Accidents_2015.csv')

#%% Aplicar el dqr
mireporte = mylib.dqr(accidents)

#%% Elegir columnas sólo con datos enteros
indx = np.array(accidents.dtypes == "int64")
col_list = list(accidents.columns.values[indx])
accidents_int = accidents[col_list]
del indx
#%% Aplicar nuevamente DQR
mireporte = mylib.dqr(accidents_int)

#%% Filtrar por los valores únicos de las variables (con valores únicos <=20)
indx = np.array(mireporte.Unique_Values <= 20)
# indx=np.array(mireporte["Unique_Values"]<=20)
col_list_2 = np.array(col_list)[indx]
accidents_int_unique = accidents_int[col_list_2]
    #%% Lista de valores maximos
    max_values = pd.DataFrame(columns=["Valores maximos"])
    for col in list(data.columns.values):
        try:
            max_values.loc[col] = [data[col].max()]
        except:
            pass

    #%% Reporte final
    data_quality_report = columns.join(data_types).join(present_values).join(
        miss_values).join(unique_values).join(min_values).join(max_values)
    return data_quality_report


#%% Usar mi funcion
data_quality_report = mylib.dqr(data)

#%% Usar Customer_number como índice
#data.index=data.Customer_number
data = data.set_index("Customer_number")
#data.rename_axis("Customer_number",axis="index", inplace=True)

#%%Separando columna de resultados
resultados = data['Segmentation Offering']
data = data.iloc[:, :-1]


#limpiamos truven simpler
def replace_text(x, obje, repla):
    try:
        x = x.replace(obje, repla)
sns.heatmap(data.isnull(), yticklabels=False, cbar=False,
            cmap='copper').get_figure().savefig(
                'hm_data.jpg', dpi=1000)  #vemos los datos faltantes
#%% columnas con los parámetros
drop_columns = [
    'Year', 'Imt_Name', 'Iot_Name', 'SRC', 'Segment', 'Quarter', 'FAMILY',
    'Month', 'Major_Minor', 'Maj', 'Minor', 'Ctrynum', 'Cost'
]
datan = data.drop(drop_columns, axis=1)
#limpiamos
#datan=datan.replace(['M90','M20','M23','M22','M24','M95','M91'],
#                    ['000M90','000M20','000M23','000M22','000M24','000M95','000M91'])
datan.Leru = datan.Leru.fillna('000')
#creamos un reporte de los datos que vamos a analizar
reporte = mylib.dqr(data)

sns.heatmap(datan.isnull(), yticklabels=False, cbar=False,
            cmap='copper').get_figure().savefig('hm_datan.jpg', dpi=300)
#%% DataFrame con las columnas relacionadas con dinero
finance = pd.DataFrame(data={
    'LC': data.LC,
    'Maj': data.Maj,
    'Minor': data.Minor,
    'Cost': data.Cost
})

sns.heatmap(finance.isnull(), yticklabels=False, cbar=False,
            cmap='copper').get_figure()  #.savefig('hm_finance.jpg',dpi=300)
#%% Analizamos maj-min
#dependiente=LC
from mylib import mylib
from sklearn.preprocessing import PolynomialFeatures
from sklearn import linear_model
from sklearn.metrics import (accuracy_score, precision_score, recall_score)
from sklearn.model_selection import train_test_split
import scipy.spatial.distance as sc
from scipy.cluster import hierarchy
from sklearn import datasets

#%% 1. Importar datos.
data = pd.read_csv(
    'C:/Users/nicol/Documents/Tareas Iteso 5/Ciencia de datos/Proyecto final/HR_comma_sep.csv'
)

#%% 2. Limpiar los datos y dar el reporte de calidad.
dqr_data = mylib.dqr(data)


#%% Reemplazar texto con función
def replace_text(x, to_replace, replacement):
    try:
        x = x.replace(to_replace, replacement)
    except:
        pass
    return x


#%%  Reemplazamos
data = replace_text(data, 'low', 0)
data = replace_text(data, 'medium', 1)
data = replace_text(data, 'high', 2)
Exemple #12
0
"""
Created on Mon Jan 27 09:12:16 2020

@author: USUARIO
"""
#%%
import pandas as pd
# Se leen los csv's y se procede a realizar el DQR con la librería
df_1 = pd.read_csv('../Data/Accidents_2015.csv')
df_2 = pd.read_csv('../Data/Casualties_2015.csv')
df_3 = pd.read_csv('../Data/Vehicles_2015.csv')

#%%
from mylib import mylib
# Se llama a la librería para realizar el DQR
reporte_1 = mylib.dqr(df_1)
reporte_2 = mylib.dqr(df_2)
reporte_3 = mylib.dqr(df_3)
#%% Guardar los DQR en un archivo csv
reporte_1.to_csv('../Data/Accidents_DQR.csv')
reporte_2.to_csv('../Data/Casualties_DQR.csv')
reporte_3.to_csv('../Data/Vehicles_DQR.csv')
#%% Consultas sencillas de información

# value_counts: Return a Series containing counts of unique values
# value_counts cuenta los valores que comparten un mismo índice, en este caso el índice es Date
num_by_date = pd.DataFrame(pd.value_counts(df_1["Date"]))

# groupby split the data into groups based on some criteria
# Una vez se realiza el método groupby se accede a una columna en específico y se opera en ella
vehicles_day = pd.DataFrame(df_1.groupby(["Date"])["Number_of_Vehicles"].sum())