Me devolvía un error porque no encontraba la variable "n_variables"
.
Esto ocurre porque en el método escrito de pandas-missing-extension, que es esta para missing_variable_table():
Durante value_counts, se genera una columna llamada "count" y no "0", entonces rename no consigue renombrarla a "n_variables" y en consecuencia assign no la encuentra.
Para corregir esto desde la función reset_index se puede asignar name="n_variables" y eso sería más universal. Aquí estaría el código modificado para que se ejecute correctamente:
duré una hora intentando resolverlo y acá estaba la solución jajajaja gracias crack
Tabulacion de Valores Faltantes
Tabular es expresar valores, magnitudes u otros datos por medio de tablas.
Siempre empieza los analisis con preguntas simples, que lleven a un numero:
cuantos valores deberian existir en el conjunto de datos?
Construir resumenes por variables y observaciones:
Cuantos valores faltantes existen por cada variable?
¿Cuantas variables tiene X numero de valores faltantes?
¿Cuantas observaciones tiene X numero de valores faltantes?
Cuenta los registros con datos faltantes
Salir de la caja y hacer mas preguntas
¿Cuantos valores faltantes tengo en una variable cada X pasos? para el caso de trabajar con series de tiempo
¿Cual es la racha de valores completos y faltantes en una variable?
De verdad gracias por tus aportes, siempre los tomo para mis apuntes
Mil gracias por tu aporte. Muy necesario :D
Es importante aclarar que el 3 de abril de 2023 se lanzó una nueva versión de la API de Pandas (la 2.0.0). Entonces algunas funciones del cuaderno de pandas-missing-extension generan errores.
Una solución rápida para este problema es asegurarse que se está ejecutando la versión 1.5.3 de Pandas o anteriores.
Si se está ejecutando el código en DeepNote, basta con ejecutar la instrucción:
!pip install pandas==1.5.3
antes de
import pandas
O si se está ejecutando el código desde un entorno local, basta con reinstalar el paquete de Pandas a la versión 1.5.3 desde el gestor de ambientes virtuales (venv, Anaconda, etc.)
Gracias por el aporte!
Muchas gracias este aporte desatascó mi proceso
Analisis de Valores Faltantes en el DataFrame riskfactors
Mostrar los valores faltantes en el dataframe de manera general
En lo que sigue, utilizamos las funciones creadas para extender la funcionalidad de pandas
Numero de valores completos en el DataFrame
riskfactors_df.missing.number_complete()-->7144
Numero de valores faltantes en el dataframe
riskfactors_df.missing.number_missing()-->1186
Resumenes Tabulares de Valores Faltantes
Resumen por variable
riskfactors_df.missing.missing_variable_summary()# missing_variable_summary() indica un resumen en cuanto a los datos# faltantes por variable. Muestra el N° de datos faltantes, el N° de registros # y el porcentaje de datos faltantes que representa en el dataframe
Tabulacion del resumen por variable
riskfactors_df.missing.missing_variable_table()# missing_variable_table() muestra una tabla con el N° de datos faltantes, # el N° de variables que contienen esos datos faltantes y el % que representa# esa cantidad de variables respecto al total
Resumen por caso
riskfactors_df.missing.missing_case_summary()# missing_case_summary() muestra todos los registros junto al N° de variables con datos # faltantes y el % de esas variables que representa respecto al total
Tabulacion del resumen por caso
riskfactors_df.missing.missing_case_table()# missing_case_table() muestra una tabla con el N° de datos faltantes, la cantidad# de registros que contienen ese N° de datos faltantes y e % de registros que # representan respecto al total de registros
Intervalos de Valores Faltantes
Numero de valores faltantes por cada 50 registros para la variable ‘weight_lbs’
riskfactors_df.missing.missing_variable_span(variable='weight_lbs',span_every=50)# missing_variable_span() muestra el resumen de datos faltantes, datos completos,# % de datos faltantes y % de datos completos por bloques de registros
En caso de trabajar con una serie de tiempo nos interesa saber en que punto o tiempo, alguna variable en particular muestra un comportamiento atipico. La siguiente funcion muestra el N° de registros consecutivos que estan completos seguido del N° de registros consecutivos que tienen datos faltantes
Durante .value_counts, se genera una columna llamada “count” y no “0”, entonces sustituyendo se soluciona el problema.
no me funciono :(
Hola. Como lo escribí en la clase anterior (Y para los que no leyeron mi aporte y hasta ahora están necesitando ayuda), dejé un aporte en la primera clase donde les menciono que subí mi repositorio a GitHub para que lo puedan clonar y tomar el curso en VSCode ya con los problemas de las dependencias y errores de código de la librería MissingMethods. En el Readme podrán leer más acerca del contenido. Espero que les ayude:
Gracias Pavel, eres un crack!!!
missing_variable_summary() #metodo para obtener tabla con el conteo de datos faltantes en todas las columnas
missing_variable_table() #metodo para obtener tabla agrupada por el conteo de datos faltantes en todas las columnas
missing_case_summary()
Tiene un detalle, y este es que presenta un cuasi doble indice, ya que case y el indice indican los mismos datos, por lo cual no se pero a mi no me mola, y lo arregle para que la variable 'case' fuera el indice:
queda solo sustituir en su archivo con las clase con que extendimos pandas.
El profesor es un crack y sabe mucho, pero que frustrante es que pase cosas sin actualizar y con fallas. Eso no debería pasar. @PlatziTeam, actualicen los CURSOSS!
Aparentemente, existe un error en el cálculo durante la verificación de valores faltantes por registro. Se estipula que cada registro consta de un total de 34 campos posibles, y nuestra tarea es determinar cuántos de estos campos se encuentran incompletos. Es decir, el porcentaje de valores faltantes por registro se calcula como la relación entre la cantidad de campos faltantes (n_faltantes) y el número total de campos (n_totales), que en este caso es 34.
En el ejemplo de clase, se observa que uno de los registros presenta 6 campos incompletos. Esto representaría aproximadamente el 17.64% del total de campos disponibles (34 campos). Sin embargo, el ejercicio obtiene un valor del 16.66%, que no concuerda con el cálculo anterior.
Es importante señalar que me podría encontrar en un error, agradecería que proporcionaran una explicación para entender la razón detrás del resultado observado en la clase.
Propongo la siguiente corrección para calcular correctamente la relación entre la cantidad de campos faltantes (n_faltantes) y el número total de campos (n_totales):
Me costó entender el funcionamiento de itertools.groupby, deberían explicar el funcionamiento detrás de esas funciones de la clase para entenderlo mejor...
y pensar que para ver los valores faltantes sólo hacía
base.info()
y ya me mostraba
Todo muy bien con el curso, realmente me gusta como va y como lo lleva el profesor pero ojalá la siguiente vez pueda usar un fondo oscuro en su deepnote. En lo personal sí me cuesta trabajar con fondo claro, me lastima un poco a la vista. Fuera de ello, por ahora, gran curso. Felicidades
Una actualizadita a este curso valdría la pena. Usé todas las soluciones que dieron aquí, usé chat GPT y ninguna funcionó!!!
Si presente el mismo problema ya que los DataFrame no se cargan con el atributo de "missing"total_complete_values = riskfactors_df.count().sum() print(f"\nNúmero total de valores completos en el DataFrame: {total_complete_values}")
Esta funcion te podria servir
total_complete_values = riskfactors_df.count().sum()print(f"\nNúmero total de valores completos en el DataFrame: {total_complete_values}")
Yo lo puede resolver
No he podido hacer el curso porque las extensiones a Pandas no me funcionan.
AttributeError: 'DataFrame' object has no attribute 'missing'
Hola Johnny! eso es porque un notebook no soporta al otro en la definición de la clase missing. Lo que podes hacer, es traerte todo el código de los otros dos notebooks y meterlos en el principal y ejecutarlos, de esa manera no deberías de tener problema.
Alguien sabe como arreglar este error ?
AttributeError: 'DataFrame' object has no attribute 'n_variables'
Me sale cuando ejecuto este código
riskfactors_df.missing.missing_variable_table()
El error está en pandas-missing-extension. Busca la función "missing_variable_table". El error es que quiere renombrar la columna "0" pero no hay ninguna con ese nombre al momento de hacer la transformación del dataframe. El código debe ser el siguiente: