【发布时间】:2019-03-28 07:50:03
【问题描述】:
我有一个数据框和一个系列,数据框是每个受访者成本的基础数据,系列是应该乘以基础数据的贴现率。
例如基础数据是(dataframe):
cost1 cost2
John 100 50
Tom 50 100
Andy 50 200
Mark 80 300
和折扣数据是(系列):
John 0.7
Tom 0.6
Andy 0.9
Mark 0.5
因此,所需的输出是:
cost1 cost2
John 70 35
Tom 30 60
Andy 45 180
Mark 40 150
我想出的方法是:
customer_list = base.index.tolist()
for k in customer_list:
base.loc[k] = base.loc[k]*discount.loc[k]
这行得通(给了我想要的输出),但我觉得它的效率很低。在我的实际应用中,dataframe非常大,所以运行这样的迭代需要相当长的时间。
对高效计算有什么建议吗?我认为可能有一些有效的方法可以使用索引进行整体计算。 (虽然基本 * 折扣肯定不起作用...)
提前致谢!
【问题讨论】:
标签: python pandas dataframe indexing series