0
は、私は、次のパネルがstocks
と呼ばれています:Pandasパネルのアイテム間にワンショットで列を追加しますか?
Dimensions: 2 (items) x 1681 (major_axis) x 5 (minor_axis)
Items axis: AAPL to OPK
Major_axis axis: 2010-01-04 00:00:00 to 2016-09-07 00:00:00
Minor_axis axis: Open to Volume
項目軸は株式の名前で構成されており、Minor_axisは、「開く」、「閉じる、などの特定の株式のための多くの属性列で構成します'Volume'など
[Log_Return]という名前の新しい列(属性)をすべての項目(株)に同時に追加しようとしています。
私はそれの次とバリエーションを試してみましたが、私は
同様
for i in stocks:
stocks.i['Log_Return']= np.log(stocks.loc[i,:, 'Close'] /stocks.loc[i,: ,'Close'])
を反復使用してみましたそして、このエラーを得た
stocks[:]['Log_Return'] = np.log(stocks.loc[:,:, 'Close']/stocks.loc[:,:, 'Close'].shift(1))
#This created an additional item instead of a column in minor_axis
stocks['AAPL':'OPK']['Log_Return'] = np.log(stocks.loc[:,:, 'Close']/stocks.loc[:,:, 'Close'].shift(1))
#This didn't do anything; no errors but no changes being made to my panels as well
# AAPL and OPK are the only stocks in the items axis and are equivalent to the ':', in the right
hand side of the equation.
私のパネルに行われて何の変更もないように思わました'Panel' object has no attribute 'i'
stocks.AAPL
Open High Low Close Volume
Date
2010-01-04 30.49 30.64 30.34 30.57 123432050.0
2010-01-05 30.66 30.80 30.46 30.63 150476004.0
2010-01-06 30.63 30.75 30.11 30.14 138039594.0
2010-01-07 30.25 30.29 29.86 30.08 119282324.0
2010-01-08 30.04 30.29 29.87 30.28 111969081.0
2010-01-11 30.40 30.43 29.78 30.02 115557365.0
stocks.OPK
Open High Low Close Volume
Date
2010-01-04 1.80 1.97 1.76 1.95 234455.0
2010-01-05 1.64 1.95 1.64 1.93 135712.0
2010-01-06 1.90 1.92 1.77 1.79 546586.0
2010-01-07 1.79 1.94 1.76 1.92 138622.0
2010-01-08 1.92 1.94 1.86 1.89 62425.0
2010-01-11 1.90 1.95 1.89 1.91 130195.0
私は簡単な間違いをしているように感じますが、今日私の頭を真っ直ぐに考えてください。
ありがとうございました。できます!私はそれが私が行方不明だったことが分かっていた。 =) – Moondra
奇妙なのは、在庫を印刷するときに.APPL、私は列が追加されているのを見ますが、 'stocks.minor_axis'で確認すると、それはリストには表示されません。 'Index(['Open'、 'High'、 'Low'、 'Close'、 'Volume']、dtype = 'object') ' – Moondra
パネルを再インデックスする必要があります。新しい編集をご覧ください。助けてくれることを望む。 – plasmon360