我有2 df
在第一个df中有3列,10行,第3列是输出列
在第二个Df中有3列1000行
如果我的第一个df 2列与第二个df的2列匹配,则第一个df的第3列必须附加第二个df。
df都在下面
df1
,A,B,output
1,abc,CCE,out1
2,def,CCE,out2
3,ghi,CCE,out3
4,hij,CCE,out4
5,klm,,out5
df2
,A,B
1,abc,CCE
2,def,CCE
3,lmn,CCE
4,opq,CCE
5,abc,CCE
6,klm,,
df2_expected
1,abc,CCE,out1
2,def,CCE,out2
3,lmn,CCE,
4,opq,CCE,
5,abc,CCE,out1
6,klm,,out5
例如,我实际上在第一个df中的第3列中给出了n列,而在df2的第n-1列中给出了3列,这意味着在df2中不会出现输出列
请尝试这个
import pandas as pd
data1={'nu':[1,2,3,4,5], 'A':['abc','def','ghi','hij','klm'], 'B':['CCE','CCE','CCE','CCE','CCE'], 'output':['out1','out2','out3','out4','out5',]}
data2={'nu':[1,2,3,4,5], 'A':['abc','def','lmn','opq','abc'], 'B':['CCE','CCE','CCE','CCE','CCE'], 'output':[]}
df1=pd.DataFrame(data1,columns=['A','B','output'], index=data1['nu'])
df2=pd.DataFrame(data2,columns=['A','B'], index=data2['nu'])
df2.merge(df1, on=['A','B'],how='left').fillna('')
A B output
0 abc CCE out1
1 def CCE out2
2 lmn CCE
3 opq CCE
4 abc CCE out1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句