过滤特定值数据框 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
我想创建一个函数来过滤数据框列中的特定值(
我的数据框具有以下列和值:
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 | 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