【发布时间】:2021-08-09 15:11:33
【问题描述】:
我有 2 个数据框: 用户
user_id position
0 201 Senior Engineer
1 207 Senior System Architect
2 223 Senior account manage
3 212 Junior Manager
4 112 junior Engineer
5 311 junior python developer
df1 = pd.DataFrame({'user_id': ['201', '207', '223', '212', '112', '311'],
'position': ['Senior Engineer', 'Senior System Architect', 'Senior account manage', 'Junior Manager', 'junior Engineer', 'junior python developer']})
角色
role_id role_position
0 10 %senior%
1 20 %junior%
df2 = pd.DataFrame({'role_id': ['10', '20'],
'role_position': ['%senior%', '%junior%']})
我想加入他们以获取 df1 中每一行的 role_id,使用条件如下:
lower(df1.position) LIKE df2.role_position
我想使用运算符 LIKE(就像在 SQL 中一样)。 所以它看起来像这样(或者没有 role_position - 它会更好):
user_id position role_id role_position
0 201 Senior Engineer 10 %senior%
1 207 Senior System Architect 10 %senior%
2 223 Senior account manage 10 %senior%
3 212 Junior Manager 20 %junior%
4 112 junior Engineer 20 %junior%
5 311 junior python developer 20 %junior%
我怎样才能做到这一点? 感谢您的帮助!
【问题讨论】:
-
嗨!以下任何一个答案是否有效?如果是这样并且如果您愿意,您可以考虑接受其中一个以向其他人发出问题已解决的信号。如果没有,您可以提供反馈,以便改进(或完全删除)
标签: python pandas dataframe join sql-like