Python 如何将列表映射到具有重复值的列
我有一个.png徽标列表,如下所示: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
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
字符串添加到序列中