Yo lo estoy trabajando en VS y me daba problema correr el %run.
Esto sucedio ya que no habia instalado en mi ambiente la libreria de jupyter
Les dejo el codigo para que lo puedan solucionar
conda activate your_env
pip install jupyter
Introducción a los valores faltantes
¿Por qué explorar y lidiar con valores faltantes?
Operaciones con valores faltantes
Conociendo datasets para manejo de datos faltantes
Correr una notebook dentro de otra en Deepnote
Extendiendo la API de Pandas
Tabulación de valores faltantes
Visualización de valores faltantes
Manipulación inicial de valores faltantes
Codificación de valores faltantes
Conversión de valores faltantes implÃcitos en explÃcitos
Exponer filas faltantes implÃcitas en explÃcitas
Tipos de valores faltantes
MCAR, MAR, MNAR en Python
Búsqueda de relaciones de valores faltantes
Matriz de sombras: shadow matrix
Visualización de valores faltantes en una variable
Visualización de valores faltantes en dos variables
Scatterplot con valores faltantes
Correlación de nulidad
Tratamiento de valores faltantes
Eliminación de valores faltantes: pairwise y listwise
Imputación básica de datos
Bonus: visualización múltiple de imputaciones
Cierre de curso
Continúa aprendiendo sobre el manejo de valores faltantes
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Convierte tus certificados en tÃtulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Jesús Vélez Santiago
Aportes 23
Preguntas 1
Yo lo estoy trabajando en VS y me daba problema correr el %run.
Esto sucedio ya que no habia instalado en mi ambiente la libreria de jupyter
Les dejo el codigo para que lo puedan solucionar
conda activate your_env
pip install jupyter
Crear una nueva clase para extender Pandas
Creamos una clase y dentro de ella todos lo metodos que necesitemos. Para poder hacer accesible los metodos, utilizamos un decorador de pandas para acceder a la clase mediante una palabra clave
@pd.api.extensions.register_dataframe_accessor("missing") #Decorador
class MissingMethods: #clase
def __init__(self, pandas_obj):
self._df = pandas_obj
def number_missing(self): #metodo para contar datos faltantes
return self._df.isna().sum().sum()
def number_complet(self): #metodo para contar datos completos
return self._df.size - self._df.missing.number_missing()
Para acceder a los metodos se procede como sigue:
# actualizamos el dataframe para que se guarden los cambios
df = pd.DataFrame(df)
# accediendo al metodo number_missing
df.missing.number_missing()
#accediendo al metodo number_complet
df.missing.number_complet()
Basicamente esto seria para automatizar algunos procesos en el manejo de datos, con funciones integradas dentro del mismo pandas.
En resumen, para extender el funcionamiento de la API de Pandas:
Nanana, panda de jjk. Ahora tienes toda mi atención.
Que grande el Pandas de Jujutsu xd
Hola! Encontré un error en el método missing_case_summary()
. Este método en esencia calcula el valor absoluto y relativo de nulos en cada fila:
def missing_case_summary(self) -> pd.DataFrame:
return self._obj.assign(
case=lambda df: df.index,
n_missing=lambda df: df.apply(
axis="columns", func=lambda row: row.isna().sum()
),
pct_missing=lambda df: df["n_missing"] / df.shape[1] * 100,
)[["case", "n_missing", "pct_missing"]]
El problema sucede cuando calculamos el porcentaje de missings
pct_missing=lambda df: df["n_missing"] / df.shape[1] * 100
Hemos creado 2 columnas de más!!! Las cuales son case
y n_missing
por lo que este porcentaje está subestimado. Por ejemplo. Si la fila fuese [None, 1, None, 0] El porcentaje de nulos es 50% pero este error de código arrojarÃa un porcentaje de 2 / 6 ≈ 33%
La solución a este bug es restar 2 al denominador:
pct_missing=lambda df: df["n_missing"] / (df.shape[1]-2) * 100,
Pandas es una biblioteca poderosa para el análisis y manipulación de datos en Python, y ofrece muchas funcionalidades para trabajar con conjuntos de datos,
la API de Pandas para realizar tareas más avanzadas y personalizadas en tus conjuntos de datos. La versatilidad de Pandas te permite adaptar tus análisis de datos de acuerdo con tus necesidades especÃficas. Puedes explorar aún más las funciones y métodos avanzados de Pandas en la documentación oficial y a medida que adquieras experiencia en su uso.
Para quienes están trabajando en Jupyter Notebook en VS Code y les marca error la última funcion de la clase MissingMethods
:
def missing_upsetplot(self, variables: list[str] = None, **kwargs):
...
se trata de la version de Python, con 3.9 o mayor anda normal.
jajaja esa referencia a jujutsu kaisen
Muy buena clase. No sabia nada sobre esto, pero seguro que me va a ser muy util.
Tuve el siguiente error cuando ejecutaba la siguinete sentencia: df.missing.number_missing(),¿por qué?, manejo un mismo notebook y posiblemente como existÃa una anterior creación del objeto MissingMethod el notebook buscaba a ese objeto anterior y no al .ipyng externo, de manera que para poder ejecutarlo correctamente debÃa asegurarme que solo exista una referencia a MissingMethods.
Muy buena clase
Wow. Increible Clase! Ahora hay muchas mas posibilidades en Pandas!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?