【发布时间】:2021-04-19 18:10:50
【问题描述】:
假设我有一个包含地点位置的数据框。
df1 = pd.DataFrame({'col1': [1,2,3,4,5], 'location': ['Hackney', 'Mile End', 'Croydon', 'Edgbaston', 'Wembley'] })
然后我有一个这些地方的列表以及它们所在的主要城市存储在字典中
dict ={
['Hackney', 'Mile End', 'Croydon', 'Wembley'] : 'London',
['Edgbaston'] : 'Birmingham'
}
问题:我怎样才能创建一个新列(比如df1['city']),它使用这个字典来填充每个location 列条目所在的城市。注意:如果为此创建字典不是理想的方式,请随意提出替代方案。
理想输出:想要如下所示的内容(如果需要,字典可以扩展,这应该概括为更多条目)。
df1 = pd.DataFrame({'col1': [1,2,3,4,5], 'location': ['Hackney', 'Mile End', 'Croydon', 'Edgbaston', 'Wembley'], 'city': ['London','London','London','Birmingham','London'] })
试过:使用apply方法但似乎报错
df1['city'] = df1['location'].apply(dict)
【问题讨论】:
-
dict 正确吗?
-
是的,不确定,但我认为我遇到的错误是在运行
apply方法时。 -
对不起!不,在这种情况下,我忘记将
wembley添加到dict中。谢谢