如何在 python 中删除表的某些行? [复制]

Posted

技术标签:

【中文标题】如何在 python 中删除表的某些行? [复制]【英文标题】:How do I drop certain rows of my table in python? [duplicate] 【发布时间】:2021-12-21 23:32:30 【问题描述】:

我有一张包含多个大洲数据的表格。现在我想删除大陆不是欧洲或非洲的每一行。 与:

df1 = df1.loc[(df1["region"] == "Europe")]

我得到了“欧洲”的每一行,但我想念“非洲”的。 有没有办法包含“或”运算符?这对我不起作用。

【问题讨论】:

【参考方案1】:

问题是drop,如果要删除包含提到的值的行,需要进行如下调整。

df1[(df1.region == "Europe") & (df1.region == "Africa")]

或者您也可以使用query 命令以更快的速度实现同样的效果

df1.query("region == ['Europe', 'Africa']")

【讨论】:

您确定query 更快吗?确实打字比较短,但我不确定执行速度...【参考方案2】:

也可以选择df1[df1["region"].isin(["Europe", "Africa"])]

【讨论】:

【参考方案3】:

你可以使用

df1 = df1.loc[(df1["region"].isin(["Europe", "Africa"]))]

【讨论】:

显然这是一个无效的语法。 Python 不喜欢“.in”。 我做了一个编辑它应该是 .isin()

以上是关于如何在 python 中删除表的某些行? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中删除行尾? [复制]

csv在python中写数组到文件,如何删除附加行[复制]

删除复制表

如何从包含特定列中特定字符串的熊猫数据框中删除行? [复制]

如何从 Android Studio 中的特定文件中删除所有评论? [复制]

如何启用移动但禁用 UITableView 中某些行的删除