簡體   English   中英

如何從列中選取值並將它們添加到數學函數中 (Pandas)

[英]How to pick values from column and add them to a mathematical function (Pandas)

我正在嘗試從我擁有的數據框列中選擇所有值並將它們應用於數學函數。 以下是數據的外觀:

   Year  %  PM
1  2002  3
2  2002  2.3

我正在嘗試應用此功能:

M = 100000
t = (THE PERCENTAGE FROM THE DATAFRAME)/12
n = 15*12


PM = M*((t*(1+t)**n)/(((1+t)**n)-1))
print(PM)

我的目標是對所有行執行此操作並將每個結果的值附加到 dF 中的 PM

您可以將公式作為一列直接添加到 DF,從列中創建t_div_12作為向量,如下所示:

M = 100000
n = 15*12
t_div_12 = df["%"]/12
df["PM"] = M*((t_div_12 *(1+t_div_12 )**n)/(((1+t_div_12)**n)-1))
df['PM'] = df['%'].map(lambda t: M*(((t/12)*(1+(t/12))**n)/(((1+(t/12))**n)-1)))

首先,我會避免使用在代碼中沒有重復的常量。 您可以使用以下代碼段將此函數應用於您的數據框:

dF = pd.DataFrame([[2002, 3], [2002, 2.3]], columns=["Year", "%"])

dF['PM'] = 100000*((dF["%"]/12*(1+dF["%"]/12)**(15*12))/(((1+dF["%"]/12)**(15*12))-1))

它會給你:

   Year    %            PM
0  2002  3.0  25000.000000
1  2002  2.3  19166.666667

暫無
暫無

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

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