Python 使用for循环删除数据帧行
假设我有一个包含错误用户的列表Python 使用for循环删除数据帧行,python,dataframe,drop,Python,Dataframe,Drop,假设我有一个包含错误用户的列表 wrong_users = [1,5,8,9,10] 我想使用此列表从包含所有用户的列的数据drame df_users中删除这些用户 我尝试使用for循环: for x in wrong_users: if x == df_users['user']: df_users.drop([x]) 但是我得到了以下错误:级数的真值是模糊的。使用a.empty、a.bool()、a.item()、a.any()或a.all()你不需要循环,试试
wrong_users = [1,5,8,9,10]
我想使用此列表从包含所有用户的列的数据drame df_users中删除这些用户
我尝试使用for循环:
for x in wrong_users:
if x == df_users['user']:
df_users.drop([x])
但是我得到了以下错误:级数的真值是模糊的。使用a.empty、a.bool()、a.item()、a.any()或a.all()你不需要循环,试试这个
wrong_users = [1,5,8,9,10]
df_users = df_users[~df_users['users'].isin(wrong_users)].reindex()
谢谢,它起作用了,但我想知道用于的“~”在哪里?波浪号(~)是一个位补码运算符,它在这里用于将df_用户返回的值['users'。isin(错误的_用户)从True转换为False,反之亦然。