pandas 将2个数据框与匹配新的特殊列连接

vddsk6oq  于 2022-11-05  发布在  其他
关注(0)|答案(3)|浏览(181)

我想连接两个 Dataframe ,得到如下结果。我尝试了很多方法,但都失败了。
我只想要df2 ['A']上的文本,其中包含df1 ['A']上的文本。我需要在代码中更改什么?
我希望:
第一个

b5buobof

b5buobof1#

创建一个中间 Dataframe 和map

  1. d = (df2.assign(key=df2['A'].str.extract(r'([^_]+)'))
  2. .set_index('key'))
  3. df1['A'].map(d['A'])

输出量:

  1. 0 A0_link0
  2. 1 A1_link1
  3. 2 A2_link2
  4. 3 A3_link3
  5. Name: A, dtype: object

如果需要df2(df1.merge(d, left_on='A', right_index=True))中的多个列,则为merge

sgtfey8w

sgtfey8w2#

可以将列上的索引设置为Anpd.concat
第一个

u0njafvf

u0njafvf3#

  1. df2.A.loc[df2.A.str.split('_',expand=True).iloc[:,0].isin(df1.A)]
  2. 0 A0_link0
  3. 1 A1_link1
  4. 2 A2_link2
  5. 3 A3_link3

相关问题