我的数据看起来像这样:
Currency Average Cost for two
0 Botswana Pula(P) 1100
1 Botswana Pula(P) 1200
2 Botswana Pula(P) 4000
3 Botswana Pula(P) 1500
4 Botswana Pula(P) 1500
我想创建一个新的列,将成本转换为美元。仅举几说,有12种货币。
这就是我写的:
for i in range(len(df)) :
if(dfi == 'Botswana Pula(P)'):
df[i]['new cost'] = df[i]['Average Cost for two'] * 0.095
if (dfi == 'Brazilian Real(R$)']):
df[i]['new cost'] = df[i]['Average Cost for two'] * 0.266
and so on...
本问题及下方已被采纳的回答均来自云栖社区【Python技术进阶大群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。
为所有货币创建字典,map为其值创建列,使用列创建多个Average Cost for two:
d = {'Botswana Pula(P)':0.095, 'Brazilian Real(R$)':0.266, ...}
df['new cost'] = df['Average Cost for two'] * df['Currency'].map(d)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。