我正在尝试比较两种不同的数据框架列"Source2/Source3"对"Spider"如果它们是匹配的,那么创建列True/False。其次,如果有一个匹配(True),那么我要确保列"Product_ID'在schedule_df是12345。如果是这种情况,则标记为"True"否则标记为"False"。
到目前为止,在我的代码中,我已经比较了两个数据框架,以确保源和蜘蛛匹配。我正在努力将它与product_id列进行比较。consolidate_df
Source2 Source3
Jen_Arrest Jen_Jail
Ben_Arrest Ben_Jail
scheduler_df
Spider Product_ID
Jen_Arrest 88888
Ben_Arrest 12345
当前代码:
consolidate_df = pd.read_excel(os.path.join(path, consolidated_fn), sheet_name='Poseidon-2')
scheduler_df = pd.read_excel(os.path.join(path, scheduler_fn))
consolidate_df['isScheduler'] = consolidate_df['Source_2'].isin(scheduler_df['Spider']) | consolidate_df['Source_3'].isin(scheduler_df['Spider'])
最后df:
Source2 isScheduler isProd
Jen_Arrest True False (because 8888 does not match 12345)
Ben_Arrest True True (because 12345 matches 12345)
我们可以在scheduler_df中创建product_id的测试:
scheduler_df['prod_test']=scheduler_df.Product_ID.apply(lambda x:True if x==12345 else False)
则创建列isProd:
consolidate_df['isProd']=consolidate_df['isScheduler'] & scheduler_df['prod_test'] | consolidate_df['isScheduler'] & scheduler_df['prod_test']