首页 > 解决方案 > Pandas Dataframe 需要基于其他列的列子集的平均值

问题描述

我有一个像这样的熊猫数据框:Dataframe example,但有几千行。

我需要根据年份获得每个班级所有学生的平均值,并按分数分开。IE。在图片中的示例中,2015 年摄影课的平均值为 79.5 和 83.5。

我已经能够使用类列来过滤数据

byClass = data[data['Class'].str.contains("Photography")==True]

我能够从那里得到所有的手段

byClass= byClass.mean()

我尝试为这一年添加第二个参数,如下所示:

byClass = data[data['Class'].str.contains("Photography")==True,data['Year']==2015]

但一直无法让它工作。我尝试将 2015 放入“”并尝试使用 str.contains 搜索它,但数据帧将其标识为 int64,因此 str.contains 由于数据类型而失败。

标签: python-3.xpandasdataframe

解决方案


推荐阅读