我有一个数据框和一个系列,数据框是关于每个受访者成本的基础数据,系列是应该乘以基础数据的贴现率。例如,基础数据是(数据框): 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
添加回答
举报
0/150
提交
取消
