gpt4 book ai didi

python - 将函数应用于数据框的元素

转载 作者:行者123 更新时间:2023-11-28 21:42:34 25 4
gpt4 key购买 nike

假设我有以下数据框 df

              1      3
Scenario1 0.001 0.05
Scenario2 0.003 0.01
Scenario3 0.001 0.042
Scenario4 0.09 0.006
Scenario5 0.02 0.04

假设这些是利率和期限,我想计算年金。

如果你不熟悉它,我只想应用这个公式:

    def computeAnnuity(r,n):
return (1-(1+r)**-n)/r

我怎样才能得到一个数据框,其中每个元素我之前已经计算过函数的值?

我想做这样的事

df.applymap(computeAnnuity)

作为 r 给出返回值(df 中的每个元素),作为 n 给出数据帧的列名(即 1 和 3)。但我不知道如何在不循环或不循环的情况下以有效的方式做到这一点。

换句话说,为场景 1 期间 1 提供一个实际示例,其中有 0.001 我想要 (1-(1+0.001)**-1)/0.001 或者,例如,场景 4 期间 3 我有 0.006 我想要 (1-(1+0.006)**-3)/0.006。我想为数据框中的每个元素执行此操作(以一种高效且自动的方式:使用函数)。

最佳答案

我认为你需要申请:

def computeAnnuity(r,n):
return (1-(1+r)**-n)/r

df1 = df.apply(lambda x: computeAnnuity(x, x.name))
print (df1)
1 3
Scenario1 0.999001 2.723248
Scenario2 0.997009 2.940985
Scenario3 0.999001 2.764591
Scenario4 0.917431 2.964357
Scenario5 0.980392 2.775091

print ((1-(1+0.001)**-1)/0.001)
0.9990009990008542

关于python - 将函数应用于数据框的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43491461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com