¿Cómo obtener la media de la columna sólo para filas específicas?
Necesito obtener la media de una columna (aquí: puntuación) para filas específicas (aquí: años). Específicamente, me gustaría saber el puntaje promedio de tres períodos:
periodo 1: año <= 1983periodo 2: año> = 1984 y año <= 1990periodo 3: año> = 1991Esta es la estructura de mis datos:
country year score
Algeria 1980 -1.1201501
Algeria 1981 -1.0526943
Algeria 1982 -1.0561565
Algeria 1983 -1.1274560
Algeria 1984 -1.1353926
Algeria 1985 -1.1734330
Algeria 1986 -1.1327666
Algeria 1987 -1.1263586
Algeria 1988 -0.8529455
Algeria 1989 -0.2930265
Algeria 1990 -0.1564207
Algeria 1991 -0.1526328
Algeria 1992 -0.9757842
Algeria 1993 -0.9714060
Algeria 1994 -1.1422258
Algeria 1995 -0.3675797
...
Los valores medios calculados deben agregarse a la df en una columna adicional ("media"), es decir, el mismo valor medio para los años del período 1, para los del período 2, etc.
Así es como debería verse:
country year score mean
Algeria 1980 -1.1201501 -1.089
Algeria 1981 -1.0526943 -1.089
Algeria 1982 -1.0561565 -1.089
Algeria 1983 -1.1274560 -1.089
Algeria 1984 -1.1353926 -0.839
Algeria 1985 -1.1734330 -0.839
Algeria 1986 -1.1327666 -0.839
Algeria 1987 -1.1263586 -0.839
Algeria 1988 -0.8529455 -0.839
Algeria 1989 -0.2930265 -0.839
Algeria 1990 -0.1564207 -0.839
...
Todos los caminos posibles que probé se complicaron mucho, y tengo que calcular las puntuaciones medias para diferentes períodos de tiempo para más de 90 países ...
¡Muchas, muchas gracias por tu ayuda!