Python es un excelente lenguaje para realizar análisis de datos, principalmente debido al fantástico ecosistema de paquetes de Python centrados en datos. Pandas es uno de esos paquetes y facilita mucho la importación y el análisis de datos.
La función Pandas dataframe.interpolate()
se usa básicamente para completar NA
valores en el marco de datos o serie. Pero, esta es una función muy poderosa para llenar los valores que faltan. Utiliza varias técnicas de interpolación para completar los valores faltantes en lugar de codificar el valor.
Sintaxis: DataFrame.interpolate(method=’linear’, axis=0, limit=Ninguno, inplace=False, limit_direction=’forward’, limit_area=Ninguno, downcast=Ninguno, **kwargs)
Parámetros:
método: {‘lineal’, ‘tiempo’, ‘índice’, ‘valores’, ‘más cercano’, ‘cero’, ‘slinear’, ‘cuadrático’, ‘cúbico’, ‘baricéntrico’, ‘krogh’, ‘ polinomio’, ‘spline’, ‘polinomial_por_piezas’, ‘de_derivadas’, ‘pchip’, ‘akima’}eje: 0 llenar columna por columna y 1 llenar fila por fila.
límite: número máximo de NaN consecutivos para llenar. Debe ser mayor que 0.
limit_direction: {‘adelante’, ‘atrás’, ‘ambos’}, predeterminado ‘adelante’
limit_area: Ninguno (predeterminado) sin restricción de relleno.inside
Rellene solo los NaN rodeados de valores válidos (interpolar).outside
Rellene solo NaN fuera de los valores válidos (extrapolar). Si se especifica un límite, los NaN consecutivos se llenarán en esta dirección.
inplace : actualice el NDFrame en su lugar si es posible.
downcast : Downcast dtypes si es posible.
kwargs : argumentos de palabra clave para pasar a la función de interpolación.Devoluciones: Serie o trama de datos de la misma forma interpolada en los NaN
Ejemplo #1: Use interpolate()
la función para llenar los valores que faltan usando el método lineal.
# importing pandas as pd import pandas as pd # Creating the dataframe df = pd.DataFrame({"A":[12, 4, 5, None, 1], "B":[None, 2, 54, 3, None], "C":[20, 16, None, 3, 8], "D":[14, 3, None, None, 6]}) # Print the dataframe df
Interpolemos los valores faltantes usando el método lineal. Tenga en cuenta que el método lineal ignora el índice y trata los valores como espaciados por igual.
# to interpolate the missing values df.interpolate(method ='linear', limit_direction ='forward')
Producción :
Como podemos ver en la salida, los valores en la primera fila no se pudieron completar ya que la dirección de llenado de los valores es forward
y no hay un valor anterior que podría haberse utilizado en la interpolación.
Ejemplo #2: Use interpolate()
la función para interpolar los valores que faltan en la dirección hacia atrás usando el método lineal y poniendo un límite en el número máximo de Na
valores consecutivos que podrían llenarse.
# importing pandas as pd import pandas as pd # Creating the dataframe df = pd.DataFrame({"A":[12, 4, 5, None, 1], "B":[None, 2, 54, 3, None], "C":[20, 16, None, 3, 8], "D":[14, 3, None, None, 6]}) # to interpolate the missing values df.interpolate(method ='linear', limit_direction ='backward', limit = 1)
Salida:
observe la cuarta columna, solo se ha completado un valor faltante ya que hemos puesto el límite en 1. El valor faltante en la última fila no se pudo completar ya que no existe ninguna fila después de la cual se pueda interpolar el valor.
Publicación traducida automáticamente
Artículo escrito por Shubham__Ranjan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA