我有两个相同维度的数据帧,我只想将它们相乘,得到一个包含元素乘积的新数据帧。然而,相反,我得到了6列除了“NaN”之外什么都没有。。。你知道吗
以下是两个数据帧:
>>> period_subset_data
SP500 NASDAQ US20
1999-08-02 0.004698 -0.005727 0.000751
1999-08-03 -0.005810 -0.007322 -0.002250
... ... ... ...
2015-04-22 0.002943 0.002129 -0.011747
[4103 rows x 3 columns]
>>> facmat
SP500 NASDAQ US20
1999-08-02 0.979367 0.670188 1.696232
1999-08-03 0.979367 0.670188 1.696232
... ... ... ...
2015-04-21 0.979367 0.670188 1.696232
2015-04-22 0.979367 0.670188 1.696232
[4103 rows x 3 columns]
当我尝试将它们相乘时,我得到的是: norm\u returns=期间\u子集\u数据*facmat
>>> norm_returns
SP500 NASDAQ US20 (SP500,) (NASDAQ,) (US20,)
1999-08-02 NaN NaN NaN NaN NaN NaN
1999-08-03 NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ...
2015-04-21 NaN NaN NaN NaN NaN NaN
2015-04-22 NaN NaN NaN NaN NaN NaN
[4103 rows x 6 columns]
我在运行别人写的代码,显然是为他们工作,所以我很难理解为什么它不为我工作。。。你知道吗
这是一个非常常见的问题,最简单的解决方法是:
但是,我试着
和你给我们的样本数据吻合得很好。你知道吗
如果需要基于索引进行乘法,可以尝试以下操作。我从here找到了这个答案。你知道吗
pd.DataFrame(df.values*df2.values, columns=df.columns, index=df.index)
相关问题 更多 >
编程相关推荐