用Python数据帧计算利率
我需要计算计算机利率,假设我有这样一个数据帧:用Python数据帧计算利率,python,pandas,numpy,dataframe,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)^dia
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)
我该怎么办?我想你需要:
IIUC
杰兹:pd.Series([1.01]*len(df),index=df.index).pow(df.days,0).sub(1)
或者使用您的应用
df.days.apply(lambda x: 1.01**x -1)
Out[697]:
1 0.104622
2 0.160969
3 0.220190
Name: days, dtype: float64
(1.0009723)^dias
没有将1.0009723
提升到dias
的力量。输入数据是列Prazo Medio
?是的,输入是Prazo Medio(翻译是天数)。我需要将1.0009723提升到dias的力量。明白了!numpy是最好的:-)@jezrael pow是索引敏感的,他有从1到3的索引,而不是0到2,如果不重置,结果将有4行,其中两行是NaN@jezrael我认为你的更好:-)自由添加答案;)<代码>df.days.apply(lambda x:1.01**x)-1?@jezrael哈哈,忘了-1:-)
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
df.days.apply(lambda x: 1.01**x -1)
Out[697]:
1 0.104622
2 0.160969
3 0.220190
Name: days, dtype: float64