如何使用 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 中的重复行