前提・実現したいこと
異なる4つのデータにそれぞれ0.25ずつ掛け算をしたい。
発生している問題・エラーメッセージ
AttributeError Traceback (most recent call last) <ipython-input-5-e1cc2719a653> in <module>() ----> 1 np.dot(returns.weights) ~\Anaconda3\lib\site-packages\pandas\core\generic.py in __getattr__(self, name) 4370 if self._info_axis._can_hold_identifiers_and_holds_name(name): 4371 return self[name] -> 4372 return object.__getattribute__(self, name) 4373 4374 def __setattr__(self, name, value): AttributeError: 'DataFrame' object has no attribute 'weights'
該当のソースコード
Python
import numpy as np import pandas as pd from pandas_datareader import data as wb import matplotlib.pyplot as plt tickers = ["PG","MSFT","F","GE"] mydata = pd.DataFrame() for t in tickers: mydata[t] = wb.DataReader(t, data_source = "yahoo", start = "1995-1-1")["Adj Close"] returns= (mydata/mydata.shift(1))-1 returns.head() weights = np.array([0.25, 0.25, 0.25, 0,25]) np.dot(returns.weights)
試したこと
Udemy の参考にしたコードと比較して確認しましたが、特に構文のエラーなどを確認することはできませんでした。
お分かりになる方、ご教示頂ければ幸いです。
よろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
Python 3.6.5
まだ回答がついていません
会員登録して回答してみよう