Apunte de Python
Preparación del ambiente, carga la biblioteca pandas
import pandas as pd
Carga un archivo en formato csv y le agrega un índice automáticamente con la instrucción
index_col=False
El sep puede ser “,” o “;” según como esté el archivo original
df = pd.read_csv("/content/nombre_archivo.csv", sep =";", encoding="utf-8",
index_col=False)
UTF-8 (8-bit Unicode Transformation Format) es un formato de codificación de
caracteres Unicode e ISO 10646 que utiliza símbolos de longitud variable.
Carga un archivo Excel
df = pd.read_excel("/content/nombre_archivo.xlsx")
Visualiza los primeros registros
[Link]()
Visualiza los últimos registros
[Link]()
Muestra el tipo de dato que almacena cada variable (columna)
[Link]
Muestra los valores que toma una variable para cada categoría
[Link]
Muestra cantidad de filas y columnas
df["variable"].unique()
Recorre todo el data frame y muestra las variables y el valor que toma cada variable
for c in [Link]:
print(c, df[c].unique())
Calcula la frecuencia para una variable (columna)
df["variable"].value_counts()
Calcula la media de una variable
df["variable"].mean()
Calcula la media de las variables numéricas
[Link](numeric_only=True)
Calcula la media de dos variables numéricas
df[["variable1", "variable2"]].mean()
Calcula la mediana
df["variable"].median()
Calcula la media de dos variables
df[["variable1", "variable2"]].median()
Calcula la media solo de las variables numéricas
[Link](numeric_only=True)
Calcula la moda
df["variable"].mode()
Calcula el mínimo valor de la variable
df["variable"].min()
Calcula el máximo valor de la variable
df["variable"].max()
Calcula la varianza de la muestra
df["variable"].var()
Calcula la desviación estándar de la muestra
df["variable"].std()
Coeficiente de variación
df["pH"].std(ddof=1) / df["pH"].mean()*100
Coeficiente de correlación entre dos variables
df[["pH", "densidad"]].corr()
Coeficiente de variación para todas las variables
[Link]()
Coeficiente de asimetría
df["variable"].skew()
Coeficiente de curtosis
df["variable"].kurtosis()
Gráficos
Boxplot o diagrama de caja y bigotes
[Link](column=["variable"], figsize=(10, 5))
Boxplot agrupados por otra variable categórica
[Link](column=["variable"], by="variable2", figsize=(15,5))
Histogramas
ax = df["variable"].hist(figsize=(10, 5))
Histograma armado con intervalos bins
ax = df["variable"].hist(figsize=(10, 5), bins=40)
Histograma agrupado por otra variable categórica
ax = [Link](column="variable", by="variable2", bins=5, figsize=(20, 10))
Gráfico de barras verticales
ax = [Link](y='variable', rot=0)
Gráfico de barra horizontales
ax = [Link](y='variable', rot=0)
Gráfico circular
import [Link] as plt
[Link](df["variable"].value_counts(), labels=df["variable"].value_counts().index)
ax = [Link](x='variable1', y='variable2', rot=0)
Gráfico de barras apiladas
ax = [Link](stacked=True)
Diagrama de dispersión de dos variables
ax = [Link](x="variable1", y="variable2", c=df["variable"].map({1: 'blue', 2: 'red'}),
figsize=(10, 10))
Muestreo
Aleatorio simple con tamaño de la muestra por ejemplo n=30
[Link](n=número)
Aleatorio simple con random_state(número) que es una semilla para inicializar el
algoritmo de valores aleatorios
[Link](n=número, random_state=número)
Aleatorio simple de una proporción de la población por ejemplo frac=0.01
[Link](frac=proporcion, random_state=número)
Muestreo con reemplazo
[Link](frac=proporción, replace=True, random_state=número)
Muestreo sin reemplazo
[Link](frac=proporción, replace=False, random_state=número)
Muestreo estratificado por variable categórica
[Link]('variable', group_keys=True).apply(lambda x: [Link](número))
Muestreo sistemático
def systematic_sampling(df, step):
indexes = [Link](0,len(df),step=step)
systematic_sample = [Link][indexes]
return systematic_sample
muestra = systematic_sampling(df, 20)
muestra
Muestreo por conglomerados
# Fijado de semilla para reproducibilidad
[Link](848)
# Se seleccionan aleatoriamente 4 conglomerados únicos
cluster = [Link](df['variable'].unique(), size=4, replace=False)
# Filtrado de datos para incluir solo los conglomerados seleccionados
muestra = df[df['variable'].isin(cluster)].groupby('calidad').apply(lambda x:
[Link](n=20)).reset_index(drop=True)
# Calculo de la frecuencia de los elementos en cada conglomerado seleccionado
print(muestra['variable'].value_counts())
muestra
Normalización
df[“variable_normalizada”] = (df[“variable”] - df[“variable”].min()) / (df[“variable”].max()-
df[“variable”].min())
Gráfico de la variable normalizada
df[“variable_normalizada”].plot()
Estandarización
df[“variable_estand”] = (df[“variable”] - df[“variable”].mean()) / (df[“variable”].std())
Gráfico de la variable normalizada
df[“variable_estand”].plot()
Mapeo
df['mes_llegada'] = df['mes_llegada'].map({
'January': 1,
'February': 2,
'March': 3,
'April': 4,
'May': 5,
'June': 6,
'July': 7,
'August': 8,
'September': 9,
'October': 10,
'November': 11,
'December': 12
})