2016-12-20 4 views
0

私はマップする必要がある2つのデータフレームを持っており、最終出力はこのようになります。パンダの2つのデータフレームからのデータのマッピング

入力1

LPAR DC 
A  LA 
B  NY 
C  CT 
D  VA 
E  WO 

入力2

LPAR PROD 
A  Microsoft 
A  Symantec 
A  Vmware 
B  Compuware 
C  BMC 
B  CA 

最終出力

LPAR DC PROD 
A  LA Microsoft 
A  LA Symantec 
A  LA Vmware 
B  NY Compuware 
B  NY CA 
C  CT BMC 
D  VA 
E  WO 
+0

本当に同様のことができます:http://stackoverflow.com/questions/25493625/vlookup-in-pandas-using-joinは基本的にあなたができますこれを行うには 'merge'や' map'を使います。例えば(input2、on = 'LPAR'、how = 'left') 'または 'input1 [' PROD '] = input1 [' LPAR '] map(input2.set_index(' LPAR ')[' PROD ' ]、na_action = 'ignore')。fillna( '') ' – EdChum

+0

それはまたおかげで働いた –

答えて

1

これに空の文字列とmerge 2データフレームとfillna

dict1 = {'LPAR': ['A', 'B', 'C', 'D', 'E'], 
      'DC': ['LA', 'NY', 'CT', 'VA', 'WO']} 
df1 = pd.DataFrame(dict1) 

dict2 = {'LPAR': ['A', 'A', 'A', 'B', 'B', 'C'], 
      'PROD': ['Microsoft', 'Symantec', 'Vmware', 'Compuware', 'CA', 'BMC']} 
df2 = pd.DataFrame(dict2) 

df3 = df1.merge(df2, on='LPAR', how='outer').fillna('') 
+0

ありがとう –

関連する問題