加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何匹配和合并两个具有完全不同的值的数据帧,除了一个单词?

发布时间:2020-12-20 11:09:28 所属栏目:Python 来源:网络整理
导读:有一个有价值的数据框ABC 0 1 20 sun is rising | UNKNOWN | 14654651 micheal has arrived | UNKNOWN | 3246542 goal has been scored | UNKNOWN | 547854 和其他有价值的XYZ 0 1 0 sun | password11 goal | password22 micheal | password3 如何将XYZ与(太
有一个有价值的数据框ABC

0                        1           2
0   sun is rising         |  UNKNOWN    | 1465465
1   micheal has arrived   |   UNKNOWN   | 324654
2   goal has been scored | UNKNOWN     | 547854

和其他有价值的XYZ

0         1 
0 sun       | password1
1 goal      | password2
2 micheal   | password3

如何将XYZ与(太阳,目标和米歇尔)ABC进行映射,以便1用密码替换ABC中的UNKNOWN 1

输出我需要

0                        1           2
0  sun is rising         |  password1    | 1465465
1   micheal has arrived  |   password3   | 324654
2   goal has been scored| password2     | 547854

解决方法

d = dict(zip(XYZ[0],XYZ[1]))
#{'sun': 'password1','goal': 'password2','micheal': 'password3'}
pat = (r'({})'.format('|'.join(d.keys())))
ABC[1]=ABC[0].str.extract(pat,expand=False).map(d)
print(ABC)

          0                  1         2
0  sun is rising         password1  1465465
1  micheal has arrived  password3   324654
2  goal has been scored  password2   547854

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读