我想知道是否有一种简单的方法来仅查找数据框中特定类的均值。我正在使用的文件用于对字母进行分类,因此它看起来像这样:
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”平均值?
答案 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)
将mean
与level
一起使用
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