比方说:有一个数据框:
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']
之后?
答案 0 :(得分:2)
您应该可以通过以下方式做到这一点:
scores = {'gold':3,'silver':2,'bronze':1}
df['scores'] = df['Medal'].map(scores)
答案 1 :(得分:2)
df['score']=df['Medal'].replace({'Bronze':1,'silver':2,'gold':3})
或如我上面建议的:Series.map
。
df['score']=df['Medal'].map({'Bronze':1,'silver':2,'gold':3})