两个数据框之间的比较?

时间:2020-04-01 15:55:49

标签: python pandas

我有一个审核脚本,该脚本从excel文件中抽取样本。代码工作正常,但我试图在两个数据帧之间进行比较,即初始数据帧和采样数据帧,并在原始帧中将项目标记为“审核”。我使用以下两个代码均未成功:

df['Retailer Item ID'] in final['Retailer Item ID'], df['Track Item'] = 
'Audit'

if df.loc[df['Retailer Item ID'] == final['Retailer Item ID']:
    df['Track Item'] = 'Audit']

知道我在做什么错吗?

3 个答案:

答案 0 :(得分:1)

您可以尝试np.where

df['Track Item']=np.where(df['Retailer Item ID'] == final['Retailer Item ID'], 'Audit','null')

答案 1 :(得分:0)

您可以进行合并并将指标作为参数传递:

df_merged=pd.merge(df,final,left_on='Track Item', right_on='Retailer Item ID', how='left',indicator=True)

对于要包括在审计样本中的每个项目,您将在指标列中看到一个“真”值。

答案 2 :(得分:0)

解决方案:df.loc [df ['零售商商品ID']。isin(final ['零售商商品ID']),'跟踪商品'] ='审计'