我有一个包含“Country”列的数据帧。它有大约15个国家的行。 我想使用一个映射字典“ContinentDict”(该字典从国家名称到大陆名称的映射)添加一个“Continent”列。
我看到以下两种方法可以实现:
df['Population'] = df['Energy Supply'] / df['Energy Supply per Capita']
df['Continent'] = df.apply(lambda x: ContinentDict[x['Country']], axis='columns')
但是以下代码无法实现:
df['Continent'] = ContinentDict[df['Country']]
看起来问题在于“df ['Country']”是一个Series对象,因此该语句无法像第2个语句一样智能地处理最后的语句。
问题:
- 我想了解为什么第1个语句可行而第3个不可行?是因为“两个Series对象相除”被定义为元素级除法吗?
- 是否有办法更改第3个语句以告诉程序我想进行元素级操作,而不必使用“apply”路线?