Untitled
unknown
python
a year ago
4.1 kB
6
Indexable
# ============================================================================= # STATS # ============================================================================= # Sirven para obtener estadísticas numéricas de un data frame # Valores máximos data.max() # Valores mínimos data.min() data.sum() data.service.value_counts() data.nationality.value_counts() # Unique -> Todos los valores únicos que tiene esa variable data.service.unique() # nunique -> Todos los valores no únicos que tiene esa variable data.service.nunique() # Si nos da dalla porque tenemos nueva versión de python hay que crear una df con solo variables numéricas dataset_int = data.select_dtypes(include=[int, float]) dataset_int.max() from plotnine import * # ggplot(aes('nationality'), data)+geom_bar() # ============================================================================= # GROUP BY # ============================================================================= # Opción 1: data22 = data.loc[:, ['service', 'bill']] data22.groupby(by = ['services'], as_index = False).sum() # as_index = False -> Para que la variable services no sea índice y sea columna # Opción 2: data22 = data.loc[:, ['service', 'bill']] data22.groupby(by = ['services']).sum().reset_index() # as_index = False -> Para que la variable services no sea índice y sea columna # Agrupar por dos variables data22 = data.loc[:, ['service', 'bill', 'gender']] data22.groupby(by = ['services', 'gender'], as_index = False).mean() # Opción 2: Agrupar dos variables sacando el máximo valor data22 = data.loc[:, ['service', 'bill', 'gender']] data22.groupby(by = ['services', 'gender', 'bill']).groupby(by=['service', 'gender'], as_index = False).max() # Diferentes opciones para group by data.groupby('service')['bill'].sum() # Es igual a la opción primera que hemos hecho data.groupby(['service', 'gender'])['bill'].sum() # Es igual a la opción segunda que hemos hecho # Aggregate data22 = data.loc[:, ['service', 'gender', 'bill']].groupby(by=['gender', 'service'])\ .agg(MAX=('bill', 'max'), MIN=('bill', 'min'), MEAN=('bill', 'mean')).reset_index() # ============================================================================= # ##~ Correlaciones # ============================================================================= # Correlaciones entre 2 variables data.bill.corr(data.orders) ggplot(aes('bill', 'orders'), data)+geom_point() # Una variable en este caso variable bill, correlacionaca con las demás vlb numéricas data.corrwith(data.bill) xxx = dataset_int.corr() # ============================================================================= # ##~ Corosstab # ============================================================================= # Nos muestra la relación entre 2 variables x = pd.crosstab(data.service, data.nationality) # Sacar porcentajes por columnas, filas y todo el data set # Entero x = pd.crosstab(data.service, data.nationality, normalize='all') # Columnas x = pd.crosstab(data.service, data.nationality, normalize='columns') # Filas x = pd.crosstab(data.service, data.nationality, normalize='index') # ============================================================================= # ##~ pd.cut # ============================================================================= # Son para variables tipo numéricas data['FACTURAS'] = pd.cut(data.bill, bins=[0,500, 1000, 3000], labels=['Bajo','Normales','Altas']) # ============================================================================= # ##~ Reemplazar # ============================================================================= # Opción 1 #( to_replace, value) data.service.replace('brilliant', 'BRILLANTE', inplace = True) # Reemplazar 2 variables dentro de la misma variable data.service.replace(['brilliant','normal'], ['BRILLANTE', 'NORMAL'], inplace = True) # Variables tipo numérico data.month.replace(1,100, inplace = True) data.month.replace([1, 2],[100, 200], inplace = True) data['service'] = data.service.str.replace(' ', '') data.to_csv('DATA.csv')
Editor is loading...
Leave a Comment