鉴于此 DataFrame df
,:
Player 1 Player 2
0 Thiem D. Almagro N.
1 Almagro N. Ferrer D.
2 Nadal R. Thiem D.
和映射d
:
d = {
'Thiem D.': 'Dominic Thiem',
'Nadal R.': 'Rafael Nadal',
'Ferrer D.': 'David Ferrer',
}
我想重命名玩家名称,同时我想跟踪映射中不存在的元素(保存到文件,或只是打印)。
我可以用这条线实现的第一部分:
player_columns = ['Player 1', 'Player 2']
df[player_columns] = df[player_columns].applymap(lambda x: d.get(x, x))
结果是:
Player 1 Player 2
0 Dominic Thiem Almagro N.
1 Almagro N. David Ferrer
2 Rafael Nadal Dominic Thiem
Almagro N.
不是映射中的现有条目,因此无法重命名它。我想抓住这个名字。
我知道我可以继承UserDict
对象并在那里实现这种行为,但我很好奇是否还有其他方法可以做到这一点?