簡體   English   中英

將Excel公式轉換為python

[英]Converting Excel formula to python

我有一個包含此公式的電子表格。 我能夠理解條件檢查部分,($ R7 / $ O7)的計算以及如果條件不滿足的默認值。 PRODUCT(1 +($ U7:Z7)))-1內部到底發生了什么?

{=IF($T7>=AA$5,($R7/$O7)/(PRODUCT(1+($U7:Z7)))-1,"")}

另外,為什么還有{}? 如果我在某些單元格中手動鍵入公式,它將無法正常工作。

我正在嘗試將此公式轉換為python。 這是我的代碼:

df.loc[(df['T'] >= df['AA']), 'x'] = (df['R']/df['O'])/PRODUCT()-1

我的問題是如何計算此計算的PRODUCT部分?

如果您只想知道如何計算每個值加1並從結果中減去1的數組的乘積,則可以使用numpy輕松完成:

import numpy as np

arr = np.array([1,2,3,4,5])
product = np.prod(arr+1) - 1
print product

numpy計算是按數組進行的,因此將1加到每個值就是array+1

根據您在評論中的更新,這是如何完成的:

df.loc[(df['T'] >= df['AA']), 'x'] = (df['R']/df['O']) / ((df[['a', 'b']]+1).product(axis=1) - 1)

其中ab是列名。 請注意,當df['T'] >= df['AA']為假時,此公式返回NaN

暫無
暫無

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

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