现在我想要将这个dataTable合并为一个,其中dataTable1的最后一个列(数字和字符串)和dataTable2(number)的第一个Colum具有共同的值。我想合并这个共同的值,并不希望任何其他行在两个表中都不存在。我正在使用熊猫,我的代码是
import numpy as np`
import pandas as pd
sellOrder = pd.read_excel('Europe_SO.xlsx')
purchaseOrder = pd.read_excel('Atlas PO.xlsx')
final = purchaseOrder.merge(sellOrder, left_on = 'EBELN', right_on = 'BSTNK', how='inner', indicator=True)
但我得到没有价值的空桌。
答案 0 :(得分:1)
我认为问题是EBELN
列,而BSTNK
在dtypes
中的DataFrames
不同,所以不匹配。
检查:
print (sellOrder['EBELN'].dtype)
print (purchaseOrder['BSTNK'].dtype)
因此,需要将两列都转换为int
或两者都转换为str
。
sellOrder['EBELN'] = sellOrder['EBELN'].astype(int)
purchaseOrder['BSTNK'] = purchaseOrder['BSTNK'].astype(int)
或者:
sellOrder['EBELN'] = sellOrder['EBELN'].astype(str)
purchaseOrder['BSTNK'] = purchaseOrder['BSTNK'].astype(str)