0

選択した列を使用して乗算する 2 つの df がある場合の乗算方法、および結果を新しい列に格納するなど

df1:

                    AAPL IBM GOOG XOM
2011-01-10 16:00:00 1500 0   0    0

df2:

AAPL   IBM    GOOG   XOM
340.99 143.41 614.21 72.02
340.18 143.06 616.01 72.56

df1 の aapl を df2 の 340.99 で乗算し、その結果を transaction_amount に格納します。

4

1 に答える 1

0
transaction_amount = np.diag(df1.dot(df2.T))

基本的に、やりたいことをするには、df1 と df2 のドット積の何らかの形式を実行する必要があります。

df1.dot(df2)

しかし、それらは一致する次元を持っているため、DataFrames の 1 つを転置する必要があります

df2.T

また、行列の内積がどのように機能するかを理解していれば、結果の行列の対角線からの配列データのみが必要であることがわかります。つまり、(X 日の AAPL 価格 * Y 日の AAPL 株、ここで X == Y) のみが必要です。したがって、関連するマトリックスの値は (0,0)、(1,1) にあります。 、(2,2) など: 対角線。

この行は、cumsum を使用して保持行列を作成すると、ポートフォリオの値を計算するときにも役立ちます。

役立つ情報源

http://www.mathsisfun.com/algebra/matrix-multiplying.html http://mathinsight.org/dot_product_matrix_notation

于 2013-10-09T01:10:01.417 に答える