Pandas - 根据后一列中是否存在值过滤一列中具有相同值和另一列中多个值的行

特洛洛洛

我有以下基表,我想将其分成一个有番石榴表和一个没有番石榴表。我正在考虑使用标志来获取下面的中间表,但不确定从那里去哪里。

基表

user_id fruit  
user1   passionfruit  
user1   guava
user1   banana
user2   orange
user2   coconut
user3   guava
user4   melon

有番石榴

user_id fruit  
user1   passionfruit  
user1   guava
user1   banana
user3   guava

没有番石榴

user_id fruit  
user2   orange
user2   coconut
user4   melon

中间表

user_id fruit        has_guava
user1   passionfruit 0 
user1   guava        1
user1   banana       0
user2   orange       0
user2   coconut      0
user3   guava        1
user4   melon        0
呸呸呸呸

groupby那就试试吧filter

df_ = (df.
       groupby('user_id').
       filter(lambda group: group['fruit'].eq('guava').any())
)
print(df_)

  user_id         fruit
0   user1  passionfruit
1   user1         guava
2   user1        banana
5   user3         guava

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从 Pandas Dataframe 中选择一列中具有相同值而另一列中仅丢失的行

如何根据另一列中的值检查 pandas df 列值是否存在?

Python Pandas:检查一列中的值是否存在于另一列中的行子集中

pandas - 根据另一列更改列中的值

pandas:根据另一列中的值获取具有相应索引的精确对应值

Pandas / Python:根据另一列中的值设置一列的值

Pandas groupby:根据另一列中的值更改一列中的值

从 Pandas Dataframe 中查找列中的唯一值,并查看这些值是否在另一列中具有相同的值

根据Pandas中另一列的值范围汇总一列的内容

根据另一列(Python,Pandas)中的值删除一列的重复项

根据另一列中的值填充一列-Pandas

Python Pandas DataFrame检查一列的值是否在另一列表中

Pandas Dataframe 根据一列中的唯一值复制具有平均值的行,以便每个唯一值具有相同的行数

pandas groupby并更新一列中的值大于另一列中的值的总和

如果特定值不在 Pandas 的另一列中存在,则删除多个列组

pandas np.where根据csv中另一列中的值在另一列中添加值

根据另一行中的 100 个值是否小于 x 在 pandas 数据框中添加一列

在 Pandas 中创建一列,计算另一列中唯一值的数量

用另一列中的相同行值替换pandas dataframe列中的值

在 Pandas 中,如何选择在一列中有重复但在另一列中有不同值的行?

Pandas 根据另一列的条件有选择地覆盖列中的值

根据Pandas df中另一列中的最大值删除重复行

遍历一列并根据 PANDAS 数据框中另一列的值将值添加到列表

根据另一列中的值对pandas数据框中的列进行归一化

取一列中共享值的行,并合并pandas数据框中另一列中的值

使用同一列中与另一列中具有匹配值的值填充Pandas DataFrame中的空值

Pandas 基于另一列 python 获取一列中的唯一值

使用 Pandas 根据另一列的值从相邻列中获取立即值

是否有任何函数可以根据另一列文本中单词的存在情况在 pandas df 列中放置一些值?