Python 如何将列表映射到具有重复值的列

Python 如何将列表映射到具有重复值的列,python,pandas,dataframe,mapping,Python,Pandas,Dataframe,Mapping,我有一个.png徽标列表,如下所示: logos ['C.png', 'E.png', 'FUR.png', 'FaZe.png', 'GenG.png', 'HER.png', 'MiBR.png', 'X6.png'] 我有另一列,其中包含重复多次的值,如下所示: teams HER MiBR C E HER FaZe ... teams logos HER HER.png MiBR MiBR.png C C.png E E.p

我有一个.png徽标列表,如下所示:

logos

['C.png',
 'E.png',
 'FUR.png',
 'FaZe.png',
 'GenG.png',
 'HER.png',
 'MiBR.png',
 'X6.png']
我有另一列,其中包含重复多次的值,如下所示:

teams

HER
MiBR
C
E
HER
FaZe
...
teams   logos
HER     HER.png
MiBR    MiBR.png
C       C.png
E       E.png
HER     HER.png
FaZe    FaZe.png
你明白了。现在我想做的是将logo值(即.png)映射到相应的团队,如下所示:

teams

HER
MiBR
C
E
HER
FaZe
...
teams   logos
HER     HER.png
MiBR    MiBR.png
C       C.png
E       E.png
HER     HER.png
FaZe    FaZe.png

任何帮助都将不胜感激

创建数据帧和列表:

pngs = ['C.png', 'E.png','FUR.png', 'FaZe.png', 'GenG.png', 'HER.png', 'MiBR.png', 'X6.png']

dataframe = pd.DataFrame({'teams': ['HER','MiBR','C','E','HER','FaZe','teste']})
仅获取.png列表的名称:

pngs_only_name = [x[:-4] for x in pngs]

['C', 'E', 'FUR', 'FaZe', 'GenG', 'HER', 'MiBR', 'X6']
列表中缺少的系列中存在的元素将具有None值:

dataframe['logos'] = dataframe.teams.apply(lambda x: (x+'.png') if x in pngs_only_name else None)
结果:

    teams   logos
0   HER     HER.png
1   MiBR    MiBR.png
2   C       C.png
3   E       E.png
4   HER     HER.png
5   FaZe    FaZe.png
6   teste   None

创建数据帧和列表:

pngs = ['C.png', 'E.png','FUR.png', 'FaZe.png', 'GenG.png', 'HER.png', 'MiBR.png', 'X6.png']

dataframe = pd.DataFrame({'teams': ['HER','MiBR','C','E','HER','FaZe','teste']})
仅获取.png列表的名称:

pngs_only_name = [x[:-4] for x in pngs]

['C', 'E', 'FUR', 'FaZe', 'GenG', 'HER', 'MiBR', 'X6']
列表中缺少的系列中存在的元素将具有None值:

dataframe['logos'] = dataframe.teams.apply(lambda x: (x+'.png') if x in pngs_only_name else None)
结果:

    teams   logos
0   HER     HER.png
1   MiBR    MiBR.png
2   C       C.png
3   E       E.png
4   HER     HER.png
5   FaZe    FaZe.png
6   teste   None

是否所有这些项目都遵循相同的格式“{name}.png”?是的,所有项目都遵循相同的格式。这两者之间的唯一区别是.png,就像你所说的那样。那么为什么不在这些列中添加一个png呢,比如:df.column_name+“.png”如果列表中缺少该系列中的某些元素呢?如果没有,那么只需将
.png
字符串添加到序列中。所有这些项目是否都遵循相同的格式“{name}.png”?是的,所有项目都遵循相同的格式。这两者之间的唯一区别是.png,就像你所说的那样。那么为什么不在这些列中添加一个png呢,比如:df.column_name+“.png”如果列表中缺少该系列中的某些元素呢?如果没有,则只需将
.png
字符串添加到序列中