2017-11-02 7 views
0

私は与えられたフォーマットの異なる2つのデータテーブルを持っている: dataTable12つの異なるデータテーブルでPandas Merge Operation?

DataTable2

今私は、2つのいずれかでdataTable1の最後colum(数と文字列)とdataTable2の第一ColumでこののdataTableをマージしたい(数)は共通の価値を持っています。私はこの共通の値でマージしたいし、両方のテーブルにそこにない他の行が欲しい。私はそのためにパンダを使用していますし、私のコードは

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) 

ですが、私は、値のない空のテーブルを取得しています。

答えて

1

は、私はこの問題は、列EBELNので、両方DataFrames一致なしでBSTNK持つ別のdtypesだと思います。

はでそれを確認してください:

print (sellOrder['EBELN'].dtype) 
print (purchaseOrder['BSTNK'].dtype) 

のでstrintまたは両方に両方の列を変換する必要があります。

sellOrder['EBELN'] = sellOrder['EBELN'].astype(int) 
purchaseOrder['BSTNK'] = purchaseOrder['BSTNK'].astype(int) 

または:

sellOrder['EBELN'] = sellOrder['EBELN'].astype(str) 
purchaseOrder['BSTNK'] = purchaseOrder['BSTNK'].astype(str) 
+0

はいひとつはオブジェクトであり、1は文字列です。それは今うまく働いた。 –

関連する問題