让数据框如下所示:
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
