开发者社区> 问答> 正文

如何迭代Pandas Dataframe中的行

我的数据看起来像这样:

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 点击链接欢迎加入社区大社群。

展开
收起
一码平川MACHEL 2019-02-28 14:44:56 2492 0
1 条回答
写回答
取消 提交回答
  • 为所有货币创建字典,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)

    2019-07-17 23:29:48
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
中文:即学即用的Pandas入门与时间序列分析 立即下载
即学即用的Pandas入门与时间序列分析 立即下载
demystifying dataframe and dataset 立即下载