calcular el valor promedio del marco de datos de pandas

ciclista

Tengo un marco de datos con fecha y hora como índice. Los datos son solo de diciembre, enero y febrero. Traté de calcular el valor medio de diciembre, enero y febrero. Cuando me gustó:

df.resample('a').mean()

entonces me da el valor medio de ene feb dic.

¿Hay alguna forma de hacer eso en pandas dataframe?

mis datos se ven así:

2000-02-29    0.046871
2000-03-31         NaN
2000-04-30         NaN
2000-05-31         NaN
2000-06-30         NaN
2000-07-31         NaN
2000-08-31         NaN
2000-09-30         NaN
2000-10-31         NaN
2000-11-30         NaN
2000-12-31    0.015948
2001-01-31    0.020552
2001-02-28    0.033409
2001-03-31         NaN
2001-04-30         NaN
2001-05-31         NaN
2001-06-30         NaN
2001-07-31         NaN
2001-08-31         NaN
2001-09-30         NaN
2001-10-31         NaN
2001-11-30         NaN
2001-12-31    0.013204
2002-01-31    0.017093
2002-02-28    0.019723
2002-03-31         NaN
2002-04-30         NaN
Jezreel

Necesitas groupbycon strftime:

df = df.groupby(df.index.strftime('%b')).mean()
print (df)
          col
Dec  0.014576
Feb  0.033334
Jan  0.018822

Si quieres también años:

df = df.groupby(df.index.strftime('%Y-%b')).mean()
print (df)
               col
2000-Dec  0.015948
2000-Feb  0.046871
2001-Dec  0.013204
2001-Feb  0.033409
2001-Jan  0.020552
2002-Feb  0.019723
2002-Jan  0.017093

Otra solución es convertir a to_period:

df = df.groupby(df.index.to_period('m')).mean()
print (df)
              col
2000-02  0.046871
2000-12  0.015948
2001-01  0.020552
2001-02  0.033409
2001-12  0.013204
2002-01  0.017093
2002-02  0.019723

EDITAR:

Necesita un turno de un mes porque Decembery luego agrupar por year:

year = df.shift(freq='m').index.year
print (year)
Int64Index([2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2001,
            2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001, 2001,
            2002, 2002, 2002, 2002, 2002],
           dtype='int64')


df = df.groupby(year).mean()
print (df)
           col
2000  0.046871
2001  0.023303
2002  0.016673

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

calcular el valor promedio del marco de datos de pandas

calcular el valor promedio del marco de datos de pandas

¿Cómo calcular el promedio de valores en un marco de datos de Python Pandas?

Calcular el promedio ponderado de mi marco de datos

¿Cómo calcular el valor promedio de diferentes pares de filas y eliminar N-1 filas del marco de datos?

Obtener el valor del marco de datos de Pandas

¿Calcular el promedio de valores en el marco de datos de pandas, pero solo en ciertos valores?

Calcular el valor del campo del marco de datos de otro marco de datos basado en la coincidencia

Promedio ponderado anual del marco de datos de pandas

Valores promedio del marco de datos de Pandas

Calcular el promedio del conjunto de datos, con texto mezclado

¿Cómo calcular el promedio de valores específicos en una columna en un marco de datos de pandas?

Los pandas se fusionan con el promedio del segundo marco de datos

Cómo calcular el promedio anual mensual a partir del marco de datos diario y trazarlo por mes abreviado

Calcule el promedio ponderado usando un pandas / marco de datos

calcular el promedio de los segmentos en el marco de datos

r - calcular usando el siguiente valor no na en la columna del marco de datos

el filtrado del marco de datos de pandas no devuelve registros del valor contenido en el campo

reemplace el valor en el marco de datos con el valor del diccionario usando pandas

Calcular MRR en el marco de datos de Python Pandas

Eliminar filas en el marco de datos de pandas según el valor del par

Python pandas cambia el marco de datos con el valor del índice de tiempo

cambiar el valor del índice en el marco de datos de pandas

reemplace el valor Ninguno del marco de datos de pandas con el diccionario

fusionar un marco de datos de pandas con otro y eliminar el valor que está presente en el primer marco de datos del segundo marco de datos

Calcular el promedio de filas en pandas

Cómo obtener el valor de la celda del marco de datos de pandas

Coincidencia de nombres en el marco de datos de pandas y actualización del valor objetivo

Cambiar el valor de todas las filas en una columna del marco de datos de pandas