如何基于两列条件创建DataFrame:移除与col1值为bill的name关联的所有行
解决方案
首先提取所有col1值为bill对应的name名单,再全局过滤掉所有属于该名单的行即可,实现代码如下:
# 获取所有要排除的name值 invalid_names = df.loc[df['col1'] == 'bill', 'name'].unique() # 过滤仅保留name不在排除名单中的行 new_df = df[~df['name'].isin(invalid_names)]
原代码错误原因
你之前的写法仅过滤了col1为bill的行,没有将这些行对应的name的所有相关记录全部移除,因此会保留name为a、b的其他行,不符合需求。
内容的提问来源于stack exchange,提问作者bigmacattack
相关产品推荐
相关产品推荐

