我想比较两个Excel文件中的两个特定列(数字和产品)。 File1的数据如下:
Name Surname Number Product
-----------------------------------
Wilber Avery ABMZ152 1.03
Alina Speidel ABMZ152 1.04
Obdulia Sala ABKL208 1.05
Paola Burne ABTY205 1.14
Magno Angevin ABLO207 1.2
Don Mcduffie ABEJ208 1.13
File2上的数据如下:
Number Product
-------------------
ABMZ435 1.03
ABNZ152 1.04
AB435TH 1.05
ABTN435 1.14
ABPPJ6 1.2
ABEJ208 1.13
我尝试了以下代码,
df1 = pd.read_excel('File1.xlsx','Sheet1',na_value=['NA'])
df2 = pd.read_excel('File2.xlsx','Sheet1',na_value=['NA'])
df1.sort_values(by=["Number", "Product"])
df1 = df1.set_index("Number","Product")
df2.sort_values(by=["Number", "Product"])
df2 = df1.set_index("Number","Product")
def report_diff(x):
return x[0] if x[0] == x[1] else '{} ----> {}'.format(*x)
diff_panel = pd.Panel(dict(df1=df1, df2=df2))
diff_output = diff_panel.apply(report_diff, axis = 0)
diff_output.tail()
并且此代码无法解决问题。 答案应如下:
文件2中的名称和产品(如果它与文件1中的名称和编号不匹配)
输出:
Name Surname Number File2 Prod
------------------------------------
Thomas Kimer ABEJ093 12.3
Jackie Dignor ABSER78 3.2