如何根据集合中的值删除数据框中的行?

2024-04-28 03:53:23 发布

您现在位置:Python中文网/ 问答频道 /正文

如果数据框中的行满足集合中的任何值,我想删除该行。我尝试过以下代码的许多不同迭代,但都不起作用:

if subid in intersection == df_1["SubId"][x]:
    for x in range(len(df_1)):
        del df_1.iloc[x]

我拿到钥匙了错误:0。有什么想法吗??在

提前谢谢。在

编辑:我已将交叉点定义为:

^{pr2}$

Tags: 数据代码indfforlenif错误
1条回答
网友
1楼 · 发布于 2024-04-28 03:53:23

如果您只想删除它们,请使用isin

df_1[~df_1["SubId"].isin(intersection)]

这将生成与intersection中某个值匹配的行的布尔掩码,我们使用~反转掩码

你所做的将是缓慢的,而且如果你继续删除行,你的索引不会有可能偏离数据框的末尾吗?在

示例:

^{pr2}$

相关问题 更多 >