Operaciones Matemáticas Básicas con DataFrames
Suma y Resta
Suma de Columnas: La suma de dos columnas en un DataFrame se realiza elemento a elemento. Si tenemos un DataFrame con columnas `columna1` y `columna2`, la suma de estas dos columnas se puede calcular directamente.
\[
\text{df['suma']} = \text{df['columna1']} + \text{df['columna2']}
\]
Ejemplo: Supongamos que `df` tiene dos columnas de datos de ventas en dos regiones diferentes. La suma de estas columnas puede representar las ventas totales combinadas.
Resta de Columnas: Similar a la suma, la resta se realiza elemento a elemento entre las dos columnas.
\[
\text{df['diferencia']} = \text{df['columna1']} - \text{df['columna2']}
\]
Ejemplo: Si `columna1` representa las ventas en un trimestre y `columna2` las ventas en el trimestre anterior, la diferencia puede indicar el cambio en ventas.
Multiplicación y División
Multiplicación de Columnas: La multiplicación de dos columnas también se realiza elemento a elemento.
\[
\text{df['producto']} = \text{df['columna1']} \times \text{df['columna2']}
\]
Ejemplo: En un DataFrame que contiene `precio` y `cantidad`, la multiplicación puede calcular el valor total de las ventas.
División de Columnas: La división entre columnas se realiza elemento a elemento, y es útil para calcular proporciones o tasas.
\[
\text{df['cociente']} = \text{df['columna1']} \div \text{df['columna2']}
\]
Ejemplo: Si `columna1` es el total de ventas y `columna2` es el número de unidades vendidas, la división proporciona el precio promedio por unidad.
Operaciones Estadísticas
Media: La media de una columna proporciona un valor promedio que representa la tendencia central de los datos.
\[
\text{media} = \text{df['columna'].mean()}
\]
Ejemplo: La media de ventas mensuales puede ofrecer una visión general del rendimiento promedio.
Mediana: La mediana es el valor central en una serie de datos ordenados, que no se ve afectado por valores extremos.
\[
\text{mediana} = \text{df['columna'].median()}
\]
Ejemplo: La mediana de salarios en una empresa puede ser más representativa del salario típico que la media, especialmente si hay salarios extremos.
Desviación Estándar: La desviación estándar mide la dispersión de los datos con respecto a la media. Una desviación estándar alta indica una mayor variabilidad.
\[
\text{desviación\_estándar} = \text{df['columna'].std()}
\]
Ejemplo: En el análisis de rendimiento de estudiantes, una alta desviación estándar en las calificaciones indica una amplia gama de habilidades.
Varianza: La varianza es el cuadrado de la desviación estándar y también mide la dispersión de los datos.
\[
\text{varianza} = \text{df['columna'].var()}
\]
Ejemplo: La varianza en los costos de producción puede ayudar a entender la consistencia en los procesos de fabricación.
Normalización y Estandarización
Normalización: La normalización escala los datos a un rango específico, típicamente entre 0 y 1.
\[
\text{df\_norm} = \frac{\text{df} - \text{df.min()} }{\text{df.max()} - \text{df.min()}}
\]
Ejemplo: Normalizar datos de puntuaciones en diferentes exámenes permite compararlas en una escala uniforme.
Estandarización: La estandarización transforma los datos para que tengan una media de 0 y una desviación estándar de 1.
\[
\text{df\_std} = \frac{\text{df} - \text{df.mean()} }{\text{df.std()}}
\]
Ejemplo: Estandarizar los ingresos de los clientes facilita la comparación entre diferentes segmentos de mercado.
Operaciones Avanzadas
Suma Total: La suma total de todos los valores en una columna proporciona el valor agregado de esa columna.
\[
\text{suma\_total} = \text{df.sum()}
\]
Ejemplo: La suma total de ventas en un año proporciona la cifra de ventas anual.
Promedio: El promedio de los valores en una columna indica el valor medio.
\[
\text{promedio} = \text{df.mean()}
\]
Ejemplo: El promedio de temperaturas diarias durante un mes puede indicar el clima medio.
Mínimo y Máximo: Encontrar los valores mínimo y máximo en una columna ayuda a entender el rango de los datos.
\[
\text{mínimo} = \text{df.min()}
\]
\[
\text{máximo} = \text{df.max()}
\]
Ejemplo: El mínimo y máximo de ventas semanales pueden indicar la variabilidad en las ventas.
Cálculo de Correlaciones: La matriz de correlación muestra cómo se relacionan las diferentes columnas entre sí.
\[
\text{correlación} = \text{df.corr()}
\]
Ejemplo: La correlación entre el gasto en publicidad y las ventas puede ayudar a determinar el impacto del marketing en los ingresos.
Estas operaciones matemáticas básicas son esenciales para el análisis y la manipulación de datos, permitiendo a los analistas y científicos de datos realizar cálculos cruciales y extraer conclusiones significativas de conjuntos de datos complejos.
Análisis Estadístico Descriptivo
Análisis Estadístico Descriptivo
El análisis estadístico descriptivo se enfoca en resumir y describir las características principales de un conjunto de datos mediante métodos cuantitativos. Su objetivo es proporcionar una visión general del comportamiento de los datos y revelar patrones o tendencias significativas.
Medidas de Tendencia Central
La media aritmética es la suma de todos los valores en un conjunto de datos dividida por el número total de valores.
\[
\text{media} = \frac{1}{n} \sum_{i=1}^{n} x_i
\]
donde \( x_i \) representa cada valor del conjunto de datos y \( n \) es el número total de valores.
La mediana es el valor central en un conjunto de datos ordenado. Si el número de observaciones es impar, la mediana es el valor en la posición central. Si el número de observaciones es par, se calcula como el promedio de los dos valores centrales.
\[
\text{mediana} = \begin{cases}
x_{(n+1)/2} & \text{si } n \text{ es impar} \\
\frac{x_{n/2} + x_{(n/2)+1}}{2} & \text{si } n \text{ es par}
\end{cases}
\]
La moda es el valor que aparece con mayor frecuencia en un conjunto de datos. Un conjunto de datos puede tener una moda, más de una moda (bimodal o multimodal), o ninguna moda si todos los valores aparecen con la misma frecuencia.
Medidas de Dispersión
La varianza mide la dispersión de los datos con respecto a la media, calculada como el promedio de las diferencias al cuadrado entre cada valor y la media.
\[
\text{varianza} = \frac{1}{n} \sum_{i=1}^{n} (x_i - \text{media})^2
\]
La desviación estándar es la raíz cuadrada de la varianza y proporciona una medida de dispersión en las mismas unidades que los datos originales.
\[
\text{desviación\_estándar} = \sqrt{\text{varianza}}
\]
El rango es la diferencia entre el valor máximo y el valor mínimo del conjunto de datos.
\[
\text{rango} = \text{máximo} - \text{mínimo}
\]
Medidas de Forma de la Distribución
La asimetría (skewness) mide la simetría de la distribución de los datos. Un valor de asimetría cercano a 0 indica una distribución simétrica. Valores positivos indican una cola larga a la derecha, mientras que valores negativos indican una cola larga a la izquierda.
\[
\text{asimetría} = \frac{n}{(n-1)(n-2)} \sum_{i=1}^{n} \left( \frac{x_i - \text{media}}{\text{desviación\_estándar}} \right)^3
\]
La curtosis mide la "altitud" y "ancho" de las colas de la distribución. La curtosis excesiva compara la distribución de los datos con una distribución normal.
\[
\text{curtosis} = \frac{n(n+1)}{(n-1)(n-2)(n-3)} \sum_{i=1}^{n} \left( \frac{x_i - \text{media}}{\text{desviación\_estándar}} \right)^4 - \frac{3(n-1)^2}{(n-2)(n-3)}
\]
Representación Gráfica
Los histogramas muestran la distribución de un conjunto de datos dividiendo el rango de datos en intervalos (bins) y contando el número de observaciones en cada intervalo.
Los diagramas de caja (box plots) visualizan la mediana, los cuartiles y los valores atípicos de un conjunto de datos. La caja representa el rango intercuartil (IQR), mientras que las líneas que se extienden desde la caja indican el rango de los datos.
Los gráficos de dispersión muestran la relación entre dos variables y ayudan a identificar patrones, correlaciones o tendencias en los datos.
El análisis estadístico descriptivo proporciona herramientas fundamentales para resumir y entender los datos, facilitando la interpretación de la información y la toma de decisiones basada en datos cuantitativos.
Manipulación y Transformación de Datos Numéricos
La manipulación y transformación de datos numéricos es fundamental para preparar y analizar datos en estadística, aprendizaje automático y análisis de datos. Estas operaciones permiten limpiar, reorganizar y ajustar los datos para obtener información útil y realizar análisis precisos.
Operaciones Básicas
Suma y Resta de Columnas: Para sumar o restar columnas en un DataFrame, se realizan operaciones elemento a elemento. Esto es útil para calcular totales o diferencias entre conjuntos de datos.
\[
\text{df['total']} = \text{df['ventas\_2022']} + \text{df['ventas\_2023']}
\]
\[
\text{df['diferencia']} = \text{df['ventas\_2022']} - \text{df['ventas\_2023']}
\]
Multiplicación y División de Columnas: Estas operaciones permiten ajustar y comparar datos. La multiplicación y división entre columnas se realiza de manera similar a la suma y resta.
\[
\text{df['ingresos\_totales']} = \text{df['cantidad\_vendida']} \times \text{df['precio\_unitario']}
\]
\[
\text{df['precio\_promedio']} = \text{df['ingresos\_totales']} \div \text{df['cantidad\_vendida']}
\]
Transformación de Datos
Normalización: La normalización ajusta los datos a un rango específico, generalmente entre 0 y 1, lo que facilita la comparación de datos en diferentes escalas.
\[
\text{df\_normalizado} = \frac{\text{df['ventas']} - \text{df['ventas'].min()} }{\text{df['ventas'].max()} - \text{df['ventas'].min()}}
\]
Estandarización: La estandarización convierte los datos para que tengan una media de 0 y una desviación estándar de 1. Esto es útil cuando los datos tienen diferentes unidades o escalas.
\[
\text{df\_estandarizado} = \frac{\text{df['ventas']} - \text{df['ventas'].mean()} }{\text{df['ventas'].std()}}
\]
Log-transformación: La transformación logarítmica se usa para estabilizar la varianza y reducir la asimetría en datos que siguen una distribución sesgada a la derecha.
\[
\text{df\_logarítmico} = \log(\text{df['ventas']} + 1)
\]
Escalado: El escalado se usa para ajustar los valores de datos a una escala específica. Por ejemplo, el escalado Min-Max transforma los datos para que estén en un rango de 0 a 1.
\[
\text{df\_escalado} = \text{scaler.fit\_transform}(\text{df[['ventas']])
\]
Aplicación de Funciones: Se pueden aplicar funciones matemáticas y estadísticas a columnas para crear nuevas variables o ajustar los datos.
\[
\text{df['ventas\_logarítmico']} = \text{np.log}(\text{df['ventas']} + 1)
\]
Operaciones Avanzadas
Agrupación y Agregación: La agrupación permite resumir datos mediante operaciones de agregación, como sumas, medias o conteos, basadas en categorías.
\[
\text{df\_agrupado} = \text{df.groupby('categoria').agg({'ventas': 'mean'})}
\]
Pivot Tables: Las tablas dinámicas reorganizan datos para mostrar resúmenes y estadísticas en un formato tabular.
\[
\text{tabla\_dinámica} = \text{df.pivot\_table(values='ventas', index='mes', columns='producto')}
\]
Filtrado y Selección: Filtrar datos con base en condiciones específicas permite centrarse en subconjuntos relevantes.
\[
\text{df\_filtrado} = \text{df[df['ventas'] > 1000]}
\]
Operaciones de Desplazamiento y Ventana: Operaciones como el desplazamiento de datos permiten analizar series temporales y calcular medias móviles.
\[
\text{df['media\_móvil']} = \text{df['ventas'].rolling(window=3).mean()}
\]
Aplicación de Funciones Personalizadas: Se pueden aplicar funciones personalizadas a los datos para realizar transformaciones específicas.
\[
\text{df['ventas\_al\_cuadrado']} = \text{df['ventas'].apply(lambda x: x^2)}
\]
La manipulación y transformación de datos numéricos es crucial para la preparación de datos antes del análisis, garantizando que la información sea precisa y relevante. Estas técnicas permiten a los analistas y científicos de datos adaptar los datos a las necesidades del análisis, extrayendo insights significativos y facilitando la toma de decisiones informadas.