Python 如何从重复多次的列表中模糊合并项目

Python 如何从重复多次的列表中模糊合并项目,python,pandas,dataframe,merge,Python,Pandas,Dataframe,Merge,我有一个名为“logos”的单列df,由以下列表组成: (注:我在stackoverflow上搜索了类似的问题,但没有结果 logos ['DEN.png', 'MIN.png', 'LA.png', 'NE.png', 'ARI.png', 'TEN.png'] 我想与以下df合并,该df由每个项目组成,减去.png文件名 0 ARI 1 ARI 2 ARI 3 DEN 4 DEN 5 DEN 我希望合并的方式是,每次在df中列出每个团队时,列表中的项目

我有一个名为“logos”的单列df,由以下列表组成: (注:我在stackoverflow上搜索了类似的问题,但没有结果

logos

['DEN.png',
 'MIN.png',
 'LA.png',
 'NE.png',
 'ARI.png',
 'TEN.png']
我想与以下df合并,该df由每个项目组成,减去.png文件名

0   ARI
1   ARI
2   ARI
3   DEN
4   DEN
5   DEN
我希望合并的方式是,每次在df中列出每个团队时,列表中的项目都会相应地匹配

0   ARI ARI.png
1   ARI ARI.png
2   ARI ARI.png
3   DEN DEN.png
4   DEN DEN.png
5   DEN DEN.png

考虑到
ARI
ARI.png
不一样,我想合并的df中的项目被多次列出,我想怎么做呢?python中有没有像R中那样的模糊连接?提前感谢您的帮助。

AFIK没有“模糊”合并选项。您可以创建一个新的logo中的列带有

logos['no_ext'] = logos.column_name.str.split('.').str.get(0) 
然后与df合并

df = df.merge(logos, how='left', left_on='column_name', right_on='no_ext')
编辑


注意merge中的
how
参数。如果ommited,它将默认为internal。然后,如果在df中遇到一行在logo中没有相应文件名,它将被排除在合并结果之外。

在df中增加一列是否至关重要?您以后在脚本中如何使用此df?我没有使用
pd.merge_ordered()
,但看起来它可能具有您所寻找的模糊行为