python检查超过两个条件_python-基于多个条件检查,将值从另一个数据...

我有两个数据框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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值