У меня есть два кадра данных df1
и df2
.Я хочу поставить столбец new_id
в df1
со значениями от df2
.
s = {'id': [4735,46,2345,8768,807,7896],
'st': ['a', 'a', 'd', 'e', 'f', 'a'],
'rd' : ['CU', 'SU', 'NU', 'NU', 'W', 'CU'],
'cm' : ['m', 'm', 'm', 'm', 'm','m']}
df1 = pd.DataFrame(s)
df1
id st rd cm
0 4735 a CU m
1 46 a SU m
2 2345 d NU m
3 8768 e NU m
4 807 f W m
5 7896 a CU m
s2 = {'id': [1234,4567,1357,2367,8765, 8796, 5687, 4565, 7865],
'st': ['a', 'a', 'd', 'd', 'f', 'f','e' ,'e','a'],
'rd' : ['CU', 'SU', 'NU', 'W', 'W','NU','W','CU','W'],
'cm' : ['s', 's', 's', 's', 's','s','s','s','s']}
df2 = pd.DataFrame(s2)
df2
id st rd cm
0 1234 a CU s
1 4567 a SU s
2 1357 d NU s
3 2367 d W s
4 8765 f W s
5 8796 f NU s
6 5687 e W s
7 4565 e CU s
8 7865 a W s
Я хотел, чтобы значения в new_id
были вставлены в df1
из id
столбец df2
, где значение st
должно быть одинаковым, а значение rd
должно быть другим.
и после выбора значения из df2 это значение не должно использоваться снова.Как я могу сделать это в пандах
Я ожидаю результата:
id st rd cm new_id
0 4735 a CU m 4567
1 46 a SU m 1234
2 2345 d NU m 2367
3 8768 e NU m 5687
4 807 f W m 8796
5 7896 a CU m 7865