提问者:小点点

熊猫-取平均值给出相同的年份,但年份被分成季度


我正在处理的数据集把年份分成了几个季度。 我想知道每个国家每年的平均教育比率。

在我看来,它应该是这样的:如果年份是1999年,那么XX的意思是(受教育)。

数据如下:国家年教育率美国1999年00 95美国1999年25 96美国1999年50 97美国1999年75 95美国2000年00 99阿根廷1999年00 88阿根廷1999年25 86阿根廷1999年50 88阿根廷1999年75 89阿根廷2000年00 90

如有任何提示/建议,我将不胜感激!

谢了。


共1个答案

匿名用户

你需要用“。”来分开。 然后按年份和国家/地区分组

    tmp = pd.DataFrame({'a': [1,1,2,2,1,1,2,2,1,2],
     'b': ['2015.00','2015.00', '2015.25', '2015.50', '2016.00','2016.00', '2016.25', '2016.50',
           '2017.00', '2017.00'],
     'c': [2,3,4,5,7,3,4,5,3,2]})

    tmp['year'] = tmp['b'].apply(lambda x: x.split('.')[0])
    tmp['mean'] = tmp.groupby(['a', 'year'])['c'].transform('mean')