Sai*_*esh 1 python python-2.7 pandas
我有两个数据帧
数据1
company,values
a,76
b,56
c,78
d,56
Run Code Online (Sandbox Code Playgroud)
dataframe2
company,comp_id
a,a1
b,b1
Run Code Online (Sandbox Code Playgroud)
我需要输出如下格式
company,value,comp_id
a,76,a1
b,56,b1
c,78
d,56
Run Code Online (Sandbox Code Playgroud)
如何合并如下格式的数据帧?
#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
Run Code Online (Sandbox Code Playgroud)
样品:
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
Run Code Online (Sandbox Code Playgroud)