RuntimeWarning: exp 中遇到溢出记录到相对

问题描述

我有一个名为 cum_strategy_asset_log_returns 的数据框:

data = {'Date':  ['Jan','Feb','Mar'],'Log_price': ['0.1','0.2','0.3'],}

cum_strategy_asset_log_returns= pd.DataFrame (data,columns = ['Date','Log_price'])

print (cum_strategy_asset_log_returns)

我现在要做的就是将这些对数收益改成相对收益。这可以通过以下行完成:

cum_strategy_asset_relative_returns = np.exp(cum_strategy_asset_log_returns) - 1

但我收到以下错误:RuntimeWarning: overflow encountered in exp

我在 Windows 上编码,所以我不能使用 float128。我还查看了其他 stackoverflow 问题,但我似乎无法弄清楚...希望您能帮助我!

解决方法

我假设 'Log_Price' 的数据应该是 float 而不是 str。鉴于您可以执行以下操作:

import numpy as np
import pandas as pd


data = {
    'Date':  ['Jan','Feb','Mar'],'Log_price': list(map(float,['0.1','0.2','0.3'])),}

df = pd.DataFrame.from_dict(data)
df['Relative_returns'] = np.exp(df['Log_price']) - 1
print(df)

输出:

  Date  Log_price  Relative_returns
0  Jan        0.1          0.105171
1  Feb        0.2          0.221403
2  Mar        0.3          0.349859

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...