tickers = ['BIOCON.NS', 'HDFCBANK.NS', 'RELIANCE.NS', 'RADICO.NS', 'LTI.NS', 'TCS.NS', 'DRREDDY.NS','BAJFINANCE.NS']
pfolio_data = pd.DataFrame()
for t in tickers:
pfolio_data[t] = wb.DataReader(t, data_source='yahoo', start ='2017-1-1')['Adj Close']
pfolio_data_returns= (pfolio_data/pfolio_data.shift(1))-1
pfolio_data_returns
pfolio_data_returns[[[[[[[['BIOCON.NS', 'HDFCBANK.NS', 'RELIANCE.NS', 'RADICO.NS', 'LTI.NS', 'TCS.NS', 'DRREDDY.NS','BAJFINANCE.NS']]]]]]]].mean()
最后一个代码向我显示错误-
unhashable type: 'list'
我该怎么做呢
pfolio_数据_返回中的数据是什么样子的?
也许这就是你想要的:
Type error: unhashable type 'list' while selecting subset from specific columns pandas dataframe
这应该起作用:
我改变了创建数据帧的方式。通过字典理解,看起来干净多了
df_raw
包含原始数据,df_returns
计算返回值,下面的.mean()
语句计算每列的平均值打开/关闭括号太多。以下工作:
pfolio_data_returns[['BIOCON.NS', 'HDFCBANK.NS', 'RELIANCE.NS', 'RADICO.NS', 'LTI.NS', 'TCS.NS', 'DRREDDY.NS','BAJFINANCE.NS']].mean()
相关问题 更多 >
编程相关推荐