【发布时间】:2021-11-06 12:38:15
【问题描述】:
给定以下数据框 join\merge df1 和 df2 以按以下方式生成 df3: df1.a 加入正则表达式匹配到 df2.a 和 df1.b 加入正则表达式匹配到 df2.b
df1 = pd.DataFrame({'a': ['foo', 'bar','zoolo','foo','foo'], 'b': ['tty','abc', 'uhg','abc','tty'], 'c':[14,72,93,33,57]})
| a | b | c | |
|---|---|---|---|
| 0 | foo | tty | 14 |
| 1 | bar | abc | 72 |
| 2 | zoolo | uhg | 93 |
| 3 | foo | abc | 33 |
| 4 | foo | tty | 57 |
df2 = pd.DataFrame({'a': ['zool(o|r)','foo|oof','[badr]+'],'b': ['uh(f|g)','[ty]+','abc|bac'], 'j': [11,32,65]})
| a | b | j | |
|---|---|---|---|
| 0 | zool(o|r) | uh(f|g) | 11 |
| 1 | foo|oof | [ty]+ | 32 |
| 2 | [badr]+ | abc|bac | 65 |
结果
df3 = pd.DataFrame({'a': ['foo', 'bar','zoolo','foo'], 'b': ['tty','abc', 'uhg','tty'], 'c':[14,72,93,57],'j': [32,65,11,32]}, )
| a | b | c | j | |
|---|---|---|---|---|
| 0 | foo | tty | 14 | 32 |
| 1 | bar | abc | 72 | 65 |
| 2 | zoolo | uhg | 93 | 11 |
| 4 | foo | tty | 57 | 32 |
【问题讨论】:
标签: python regex pandas dataframe join