es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El objeto ‘numpy.ndarray’ no tiene el atributo ‘rolling’, después de convertir el array en dataframe.

Convertí mi matriz de numpy en un dataframe, sin embargo, el error aún persiste.

deseanolized_df = pd.DataFrame(deseanolized)
df_ma = deseanolized_df.values.rolling(3, center=True, closed='both').mean()
df_ma.plot()

Salida:

“`

AttributeError Traceback (most recent call last)
/tmp/ipykernel_40/956302484.py in
1 deseanolized_df = pd.DataFrame(deseanolized)
—-> 2 df_ma = deseanolized_df.values.rolling(3, center=True, closed=’both’).mean()
3 df_ma.plot()

AttributeError: El objeto ‘numpy.ndarray’ no tiene el atributo ‘rolling’
“`

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El error está ocurriendo porque el arreglo de numpy no tiene el atributo ‘rolling’, el cual es un método de pandas DataFrame. Convertir el arreglo de numpy en un DataFrame utilizando el método pd.DataFrame() no lo convierte en un objeto de pandas DataFrame que tiene todos los atributos y métodos de pandas DataFrame.

    Para resolver el problema, puedes crear directamente un pandas DataFrame con tu arreglo de numpy y luego utilizar el método rolling() en ese DataFrame:

    deseanolized_df = pd.DataFrame({'values': deseanolized})
    df_ma = deseanolized_df['values'].rolling(3, center=True, closed='both').mean()
    df_ma.plot()
    

    Aquí, creamos un nuevo DataFrame con una columna llamada ‘values’ y agregamos tu arreglo de numpy como sus datos. Luego utilizamos el método rolling() en la columna ‘values’ del DataFrame para calcular la media móvil.

Comments are closed.