如何在np.where函数中定义两个替换

时间:2019-09-04 06:18:00

标签: python arrays excel pandas numpy

我尝试将两个Excel文件相互比较。我已经成功创建了合并表并定义了第三列。当第一列的值等于第二列的值时,我成功地在第三列中写入匹配项。但是当值不相等时,我想写“不匹配”但不知道如何...

我认为我将np.where函数写错了,所以请帮助我。 我不想使用选择/条件python函数

import pandas as pd
import numpy as np

ff1 = pd.read_csv(r'C:\Users\dbokov\Desktop\ff1.csv', index_col=0)

ff0 = pd.read_csv(r'C:\Users\dbokov\Desktop\ff0.csv', index_col=0)

#print(A)
#print(B)

C = pd.merge(left=ff1, right=ff0, how='outer', left_index=True, right_index=True, suffixes=['_ff1', '_ff0'])
df = pd.DataFrame(data=C, columns= ['COUNT_ff1', 'COUNT_ff0'])
#print(C)
#print(df)

df['que'] = np.where('COUNT_ff1' == 'COUNT_ff0'), 'match'

print (df)

 my result:

                     COUNT_ff1  COUNT_ff0    que
    hina_marketer_id                             
    145130                    3          2  ([],)
    1                         4          4  match

1 个答案:

答案 0 :(得分:1)

IICU,您只需要完成np.where的格式化即可。试试这个。

df['que'] = np.where(df['COUNT_ff1'] == df['COUNT_ff0'], 'match','not matched')