如何使用 Pandas 的条件删除数据框中的某些行? [复制]

Posted

技术标签:

【中文标题】如何使用 Pandas 的条件删除数据框中的某些行? [复制]【英文标题】:How to remove certain rows in dataframe using condtion with Pandas? [duplicate] 【发布时间】:2021-04-22 11:33:49 【问题描述】:
user_id     user_verified
1              False
2              False
3              False
4              True
5              False
6              True

如何删除所有的“False”值并保留“True”值?

【问题讨论】:

使用:df = df[df['user_verified'] == True] 这能回答你的问题吗? Deleting DataFrame row in Pandas based on column value 【参考方案1】:
df = df[df['user_verified'] == True]

您可以通过这种方式检查条件。如果 True 在第 2 列中,这将保留该行。

您也可以根据布尔值删除行:

df.drop(df[df['user_verified'] == False].index, inplace=True)

甚至,保留True

df = df[df.user_verified]

【讨论】:

【参考方案2】:

假设您的数据位于以下类似格式指定的数据框中:

data = pd.DataFrame(zip(range(1,7), [False, False, False, False, True, False, True]), columns=['user_id', 'user_verified'])

您可以简单地使用掩码,因为 user_verified 是布尔值:

verified = data[data['user_verified']]

【讨论】:

【参考方案3】:

有一些方法可以做到这一点

df = df[df['user_verified'] == True]

或者你也可以使用

df = df.loc[df['user_verified'] == True]

【讨论】:

【参考方案4】:

用途:

df = df[df['user_verified'] == True] 

或(不创建副本):

df = df.loc[df.user_verified,:]

【讨论】:

以上是关于如何使用 Pandas 的条件删除数据框中的某些行? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

根据条件 pandas 删除 DataFrame 中的重复行

如何在 Pandas 中删除两个数据框中的公共行?

根据“不在”条件从数据框中删除行[重复]

如何从 Pandas 数据框中删除行列表?

将 pandas 数据框中的一些行添加到下一个,然后删除它们

pandas如何删除指定行