質問: np.vstack((mdates.date2num(x_date), df_ohlc.T)).T ``` ### 理解できていること * np.vstackを用いて配列を結合。 * .Tを用いて行と列を転地。 ### 理解できていないこと * date2num(x_date)をprintで見てみた結果6桁の数字がarrayで出てきたがこれは何なのか。 * 上記の6桁の数字を行列の転地を行った株価のデータに対して何故、結合する必要があるのか。
回答: > > date2num(x_date)をprintで見てみた結果6桁の数字がarrayで出てきたがこれは何なのか。 > > > Unix時間0 (1970年1月1日午前0時0分0秒) からの経過日数 date2num() 参照 > > 上記の6桁の数字を行列の転地を行った株価のデータに対して何故、結合する必要があるのか。 > > > candlestick_ohlc() の第2引数 quotes に渡すための各要素が (time, open, high, low, close) である (NumTimes, 5) の配列を作るのが目標 x_date を見ると 235 個分の時間が入っています。 ``` print(mdates.date2num(x_date).shape) # (235,) ``` df_ohlc を見ると、235 個分のデータが入っています。 ``` print(df_ohlc.shape) # (235, 4) ``` これら2つの配列を結合し、(235, 5) の配列を作っているのが以下です。 ``` np.vstack((mdates.date2num(x_date), df_ohlc.T)) ``` `mdates.date2num(x_date)` は (235,) で、`df_ohlc.T` が (4, 235) なので、numpy.vstack() で縦方向に結合し、(5, 235) となります。 さらにそれの転置をとることで、(235, 5) になります。 一列目が時間で2~5列目は4つのデータが入っています。 ``` print(ochl.shape) # (235, 5) ```