使用基于现有分类列的值将新列“Score”添加到数据帧

2024-04-29 16:40:23 发布

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

假设:有一个数据帧:

country       Edition     sports       Athletes           Medal  score
Germany          1990    Aquatics  HAJOS, Alfred          gold     3
Germany          1990    Aquatics  HIRSCHMANN, Otto       silver   2
Germany          1990    Aquatics  DRIVAS, Dimitrios      silver   2
US               2008    Athletics MALOKINIS, Ioannis     gold     3
US               2008    Athletics HAJOS, Alfred          silver   2
US               2009    Athletics CHASAPIS, Spiridon     gold     3
France           2010    Athletics CHOROPHAS, Efstathios  gold     3
France           2010    Athletics CHOROPHAS, Efstathios  gold     3
France           2010    golf      HAJOS, Alfred          Bronze   1
France           2011    golf      ANDREOU, Joannis       silver   2
Spain            2011    golf      BURKE, Thomas          gold     3

青铜=1,银=2,金=3。你知道吗

谁能告诉我如何将这些值赋给新列'score'?添加新列df['score']之后?你知道吗


Tags: 数据silvercountryusscorealfredfrancegold
2条回答

您应该能够通过以下方式完成此操作:

scores = {'gold':3,'silver':2,'bronze':1}                                                                                                                                           

df['scores'] = df['Medal'].map(scores) 

使用^{}。你知道吗

df['score']=df['Medal'].replace({'Bronze':1,'silver':2,'gold':3})

或者像我上面建议的:^{}。你知道吗

df['score']=df['Medal'].map({'Bronze':1,'silver':2,'gold':3})

相关问题 更多 >