簡體   English   中英

如何有效地為python數據幀中的每一行乘以某個值

[英]how to efficiently multiply certain value for each row in python 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 非常大,所以運行這樣的迭代需要相當長的時間。

對有效計算有什么建議嗎? 我認為可能有一些有效的方法可以使用索引來進行整體計算。 (基礎*折扣當然沒有用...)

先感謝您!

mulaxis參數一起使用:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM