计算利率Python Dataframe

时间:2017-12-05 18:02:48

标签: python pandas numpy dataframe

我需要计算合并利率,让我说我有一个像这样的数据帧:

   days
1   10
2   15
3   20

我想得到的是(假设每天利率为1%:

    days   interst rate
1   10     10,46%
2   15     16,10%
3   20     22,02%

我的代码如下:

def inclusao_juros (x):
    dias = df_arrumada_4['Prazo Medio']
    return ((1.0009723)^dias)-1

df_arrumada_4['juros_acumulado'] = df_arrumada_4['Prazo Medio'].apply(inclusao_juros)

我该怎么办? TKS

2 个答案:

答案 0 :(得分:2)

我认为你需要numpy.power

df['new'] = np.power(1.01, df['days']) - 1
print (df)
   days       new
1    10  0.104622
2    15  0.160969
3    20  0.220190

答案 1 :(得分:1)

IIUC

pd.Series([1.01]*len(df)).pow(df.reset_index().days,0).sub(1)
Out[695]: 
0    0.104622
1    0.160969
2    0.220190
dtype: float64

Jez&#39:s pd.Series([1.01]*len(df),index=df.index).pow(df.days,0).sub(1)

或使用您的apply

df.days.apply(lambda x: 1.01**x -1)
Out[697]: 
1    0.104622
2    0.160969
3    0.220190
Name: days, dtype: float64