将值从字典映射到数据帧

2024-10-01 19:28:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个{}:

    opponent  pontos_num
0        262        29.1
1        265        28.8
2        284        21.4
3        282        16.3
4        266        14.8
5        292        12.4
6        373         9.6
7        354         6.8
8        277         6.3
9        294         5.5
10       276         3.9
11       356         3.5
12       280         3.3
13       263         0.9
14       293         0.2
15       264         0.2
16       285        -1.6
17       290        -5.3
18       267        -6.2
19       275        -6.5

这条格言:

teams_dict = {'team1':262, 'team2': 263, 'team3': 264, 'team4':265, 'team5':266,
    'team6':267, 'team7':275, 'team8': 276, 'team9': 277, 'team10': 280, 'team11': 282,
    'team12':284, 'team13':285, 'team14':290, 'team15':292, 'team16':293, 'team17':294,
    'team18':354, 'team19':356, 'team20':373}

现在我正试图将团队名称引入我的df。我正在努力:

    df['opponent_name'] = df['opponent'].map(lambda x: teams_dict[x])

但我得到了:

KeyError: 262

我错过了什么


Tags: dfnumdictteams格言team1team2opponent
1条回答
网友
1楼 · 发布于 2024-10-01 19:28:01

正如sushanth已经评论的那样,您需要交换teams_dict以拥有value: key

那么您应该更喜欢内置的.replace而不是.map

df['opponent_name'] = df.opponent.replace(
    {v: k for k, v in teams_dict.items()})

相关问题 更多 >

    热门问题