如何在数据框中为特定类使用大熊猫找到平均值?

时间:2018-11-08 00:44:59

标签: python pandas

我想知道是否有一种简单的方法来仅查找数据框中特定类的均值。我正在使用的文件用于对字母进行分类,因此它看起来像这样:

    class     feature 1    feature 2    feature 3   feature 4 
0   A         2            3            4           1
1   A         3            1            1           0
2   B         6            7            8           8

是否有一种简单的方法,我只能找到每个特征的“ A”平均值?

3 个答案:

答案 0 :(得分:0)

您可以使用它来获取class列中值为A的行的平均值

df[df['class']=='A'].groupby('class')[list(df)[1:]].mean()

输出

         feature 1  feature 2  feature 3  feature 4
feature                                                   
A              2.5        2.0        2.5        0.5

这将为4 mean列提供feature n

答案 1 :(得分:0)

令人惊讶的是,groupby比注释(df[df['class'] == 'A'].mean())中提出的基于选择的方法快15%:

df.groupby('class').mean().loc['A']
#feature 1    2.5
#feature 2    2.0
#feature 3    2.5
#feature 4    0.5

答案 2 :(得分:0)

meanlevel一起使用

df.set_index('class').mean(level=0).loc[['A']]
Out[431]: 
       feature1  feature2  feature3  feature4
class                                        
A           2.5       2.0       2.5       0.5