使用merge
:
#fillna only column comp_id
print (pd.merge(df1,df2,on='company', how='outer').fillna({'comp_id':''}))
#fillna all dataframe
#print (pd.merge(df1,df2,on='company', how='outer').fillna(''))
company values comp_id
0 a 76 a1
1 b 56 b1
2 c 78
3 d 56
サンプル:
df1 = pd.DataFrame({'values': {0: 76, 1: 56, 2: 78, 3: 56},
'company': {0: 'a', 1: 'b', 2: 'c', 3: 'd'}})
print (df1)
company values
0 a 76
1 b 56
2 c 78
3 d 56
df2 = pd.DataFrame({'comp_id': {0: 'a1', 1: 'b1'}, 'company': {0: 'a', 1: 'b'}},
columns=['company','comp_id'])
print (df2)
company comp_id
0 a a1
1 b b1
print (pd.merge(df1,df2,on='company', how='outer'))
company values comp_id
0 a 76 a1
1 b 56 b1
2 c 78 NaN
3 d 56 NaN
#fillna only column comp_id
print (pd.merge(df1,df2,on='company', how='outer').fillna({'comp_id':''}))
company values comp_id
0 a 76 a1
1 b 56 b1
2 c 78
3 d 56
'データフレームの本体にデータフレームのインデックス、または列をcompany'ていますか? –
フレームの列 –
ああ、あらかじめ知っておいた方がいいでしょう。その場合、会社がユニークであれば、再インデックスすることは賢明でしょう。 – sobek