Skip to main content
 首页 » 编程设计

python之删除 groupby 中不包含元素的组 (Python Pandas)

2025年05月04日14mayingbao

让数据框如下所示:

import pandas as pd 
 
df = pd.DataFrame({"name":["A", "A", "B" ,"B", "C", "C"], 
                   "nickname":["X","Y","X","Z","Y", "Y"]} 

我如何对 df 进行分组并删除那些至少不包含一个“X”的组 (C)?

谢谢

请您参考如下方法:

您可以使用 pandas 中的 grouped by filter:

df.groupby('name').filter(lambda g: any(g.nickname == 'X'))  
 
#       name   nickname 
# 0        A          X 
# 1        A          Y 
# 2        B          X 
# 3        B          Z