擅长:python、mysql、java
<p>您可以为rate函数创建一个单独的函数。
然后,您可以将df.apply与轴1一起使用,这将把每一行传递到该函数中。您可以从每行中获取值,并将其放入numpy.rate函数中。
现在,在最后,您将得到一个名为Solution的新列,在该列中,您可以计算出rate函数的值:</p>
<pre><code>import pandas as pd
import numpy as np
data = {
"nper": [1,2,3],
"pmt": [4,5,6],
"pv": [7,8,9],
"fv": [0,1,2]
}
df = pd.DataFrame(data)
def RunRateFunction(row):
x = np.rate(row.nper, row.pmt, row.pv, row.fv,when=1,guess=0.01,tol=1e-06, maxiter=100)
return x
df["Solution"] = df.apply(RunRateFunction, axis = 1)
</code></pre>
<p>输出:</p>
<pre><code> nper pmt pv fv Solution
0 1 4 7 0 -1.000000
1 2 5 8 1 NaN
2 3 6 9 2 -1.348887
</code></pre>