Python-NaN返回(pandas-resample函数)
我正在做一项基于下面youtube链接的财务研究,我想了解为什么我得到的是NaN回报而不是预期的计算结果。我需要在这个脚本中做什么才能达到预期的值 YouTube案例: 返回:Python-NaN返回(pandas-resample函数),python,pandas,nan,Python,Pandas,Nan,我正在做一项基于下面youtube链接的财务研究,我想了解为什么我得到的是NaN回报而不是预期的计算结果。我需要在这个脚本中做什么才能达到预期的值 YouTube案例: 返回: Ativo ABEV3 NaN CEAB3 NaN ENBR3 NaN FLRY3 NaN IRBR3 NaN ITSA4 NaN JHSF3 NaN STBP3 NaN dtype: float64 您需要将“起始日期”更改为具有一年以上的数据 当前脚本返回一行,而一行数据上的.pct
Ativo
ABEV3 NaN
CEAB3 NaN
ENBR3 NaN
FLRY3 NaN
IRBR3 NaN
ITSA4 NaN
JHSF3 NaN
STBP3 NaN
dtype: float64
您需要将“起始日期”更改为具有一年以上的数据 当前脚本返回一行,而一行数据上的.pct_change()返回NaN,因为没有上一行可供比较 当我从_日期更改为'2018年1月1日'
import investpy as env
import numpy as np
import pandas as pd
lt = ['ABEV3','CEAB3','ENBR3','FLRY3','IRBR3','ITSA4','JHSF3','STBP3']
prices = pd.DataFrame()
for i in lt:
df = env.get_stock_historical_data(stock=i, from_date='01/01/2018', to_date='29/05/2020', country='brazil')
df['Ativo'] = i
prices = pd.concat([prices, df], sort=True)
pivoted = prices.pivot(columns='Ativo', values='Close')
e_r = pivoted.resample('Y').last().pct_change().mean()
e_r
我得到以下输出:
Ativo
ABEV3 -0.043025
CEAB3 -0.464669
ENBR3 0.180655
FLRY3 0.191976
IRBR3 -0.175084
ITSA4 -0.035767
JHSF3 1.283291
STBP3 0.223627
dtype: float64
你所有的股票都有年度数据吗?
Ativo
ABEV3 -0.043025
CEAB3 -0.464669
ENBR3 0.180655
FLRY3 0.191976
IRBR3 -0.175084
ITSA4 -0.035767
JHSF3 1.283291
STBP3 0.223627
dtype: float64