我对编码还很陌生,并且陷入了一个问题。我有两个DF: df1包含TrailerID df2包含一个TrailerID和一个数字
如果预告片ID匹配,我想从df2中获取数字值并将其插入df1
我设法比较了列并返回1或0,但是现在我不确定如何从与1或0相对应的数字列中选择数据。
from pandas import pandas
import pandas as pd
import numpy as np
df1=pd.read_excel("sheet1.xlsx",sheet_name=0)
df2=pd.read_excel("sheet2.xlsx",sheet_name=0)
print(df1)
TrailerID
0 abc
1 def
2 ghi
3 123
4 456
5 789
print(df2)
TrailerID Number
0 abc 123647
1 def 937217
2 ghi 282838
3 758 183650
4 sh67 182838
5 789 273747
df1['new'] = df2.TrailerID.isin(df1.TrailerID).astype(np.int8)
print(df1)
TrailerID new
0 abc 1
1 def 1
2 ghi 1
3 123 0
4 456 0
5 789 1
我在df1中有1和0的新列,但我需要它是df2中的数字值
答案 0 :(得分:0)
这类似于SQL中的LEFT JOIN。
df3 = df1.merge(df2, how='left', on='TrailerID')