2024-03-29 05:43:07 发布
网友
我想删除规则显示为NOT_OK的行,但对于同一id的一个值,它已经OK了
对于id,如果所有值都不正常,则保留所有值
例如,对于此数据集:
ID RULE 1 OK 1 NOT_OK 2 NOT_OK 2 NOT_OK
期望输出:
ID RULE 1 OK 2 NOT_OK 2 NOT_OK
drop duplicates函数应该可以工作:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.drop_duplicates.html
只是df.drop_duplicates()
df.drop_duplicates()
假设您的数据集是变量“df”中的数据帧。可能有一种更有效的方法,但这是可行的:
ok_records = list(df['ID'][df['RULE'] == 'OK']) df1 = df[(df['ID'].isin(ok_records)) & (df['RULE'] != 'NOT_OK')] df2 = df[(df['RULE'] == 'NOT_OK') & (~df['ID'].isin(ok_records))] final_df = pd.concat([df1, df2])
drop duplicates函数应该可以工作:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.drop_duplicates.html
只是
df.drop_duplicates()
假设您的数据集是变量“df”中的数据帧。可能有一种更有效的方法,但这是可行的:
相关问题 更多 >
编程相关推荐