为了账号安全,请及时绑定邮箱和手机立即绑定

如何有效地为python数据帧中的每一行乘以某个值

如何有效地为python数据帧中的每一行乘以某个值

qq_笑_17 2021-07-16 18:15:24
我有一个数据框和一个系列,数据框是关于每个受访者成本的基础数据,系列是应该乘以基础数据的贴现率。例如,基础数据是(数据框):      cost1  cost2John    100     50Tom      50    100Andy     50    200Mark     80    300和折扣数据是(系列):John    0.7Tom     0.6Andy    0.9Mark    0.5因此,所需的输出是:      cost1  cost2John     70     35Tom      30     60Andy     45    180Mark     40    150我想出的方法是:customer_list = base.index.tolist()for k in customer_list:    base.loc[k] = base.loc[k]*discount.loc[k]这有效(给了我所需的输出),但我觉得它效率很低。在我的实际应用中,dataframe 非常大,所以运行这样的迭代需要相当长的时间。对有效计算有什么建议吗?我认为可能有一些有效的方法可以使用索引来进行整体计算。(基础*折扣当然没有用...)
查看完整描述

1 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

使用mul带有axisPARAM:


df.mul(df2, axis=0)


      cost1  cost2

John   70.0   35.0

Tom    30.0   60.0

Andy   45.0  180.0

Mark   40.0  150.0


查看完整回答
反对 回复 2021-07-28
  • 1 回答
  • 0 关注
  • 306 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号