我有两个数据框df1和df2.我想在df1中放置一列new_id,其中包含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中的值放在df2的id列中的df1中,其中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