новичок в python и, кажется, не может найти точный ответ, который я ищу, хотя я считаю, что есть более простой способ заполнить эту информацию
У меня есть df1 и df2
df1: FirstName LastName PhNo uniqueid
df2: uniqueid PhNo
Я хочу заполнить значения, отсутствующие в df1 ['PhNo'], соответствующими значениями в df2 на основе сопоставления uniqueid == uniqueid
Коды, которые я использовал, следующие:
dff = pd.merge(df1,df2,on = 'uniqueid', how = 'Left')
dff['PhNo'] = 0
dff['PhNo'][df1['PhNo_x'] >= 1] = df1['PhNo_x']
df1['PhNo'][df2['PhNo_y'] >= 1] = df1['PhNo_y']
thisкажется, делает работу, но не кажется эффективным способом сделать это.Я ищу меньшее количество строк и лучшую технику, чем слияние
df1
FirstName LastName PhNo uniqueid
Sam R 123x 1
John S 345x 2
Paul K np.Nan 3
Laney P no.NaN 4
df2
uniqueid PhNo
1 213x
3 675x
4 987x
желаемый вывод: df1
FirstName LastName PhNo uniqueid
Sam R 123x 1
John S 345x 2
Paul K **675x** 3
Laney P **987x** 4