过滤特定值数据框 pandas/ python

Filter on specific value dataframe pandas/ python

我想创建一个函数来过滤数据框列中的特定值(
我的数据框具有以下列和值:

Zoekterm High_bias
男人 1
男人 1
Vrouw 1
种类 0

我写了一个过滤特定值的函数,见下文

Def most_likey_bias():                                                                                              
bias = data['high_bias'] == 1                                                                                         
if bias.any():                                                                                                
  print(data.loc[bias,['High_bias','Zoekterm']                                                                 
print(most_likey_bias())

table 的结果是:

Zoekterm High_bias
vrouw 1
种类 1

这个 table 返回哪个“Zoekterm”的值为 1
但是因为“ Zoekterm”有重复的同名我想要一个 table 来给我每个 zoekterm 的计数 所以我想要的 table 是:
这意味着 table 它根据特定值 (1)

计算每个“Zoekterm”有多少“高偏差”
Zoekterm High_bias
男人 4
Vrouw 2
种类 5

我尝试使用 groupby 或 count,但我不明白。谁能给我一些提示。

使用GroupBy.size with filtered rows and convert Series to DataFrame by Series.reset_index:

def most_likey_bias():                                      
    bias = data['high_bias'] == 1                                    
    if bias.any():                                            
        return data[bias].groupby('Zoekterm').size().reset_index(name='High_bias')

类似的思路是聚合sum:

def most_likey_bias():                                      
    bias = data['High_bias'] == 1                                    
    if bias.any():                                            
        return data[bias].groupby('Zoekterm')['High_bias'].sum().reset_index(name='High_bias')

print (most_likey_bias())
  Zoekterm  High_bias
0      Man          2
1    Vrouw          1