【发布时间】:2017-10-24 02:26:23
【问题描述】:
df: aux 包含布尔值,rtrnM 包含每月回报。我希望(分段)将 aux 和 rtrnM 相乘以获得 df ,其中 aux 为 TRUE 的每月回报,随后我想计算每行结果值的算术平均值。 这就是 aux 和 rtrnM 的样子:
In [341]: aux.tail()
Out[341]:
IWB SPY VGK IEV EWJ EPP IEF SHY IAU
2017-06-30 False False True True True False False False False
2017-07-31 True False False False True True False False False
2017-08-31 False False True True False True False False False
2017-09-29 False False False False False True True False True
2017-10-31 True False True True False False False False False
In [342]: rtrnM.tail()
Out[342]:
IWB SPY VGK IEV EWJ EPP \
2017-06-30 0.007147 0.006374 -0.005148 -0.005326 0.013241 0.022903
2017-07-31 0.019115 0.020554 0.028291 0.026850 0.020690 0.044065
2017-08-31 0.003207 0.002918 0.000707 -0.000879 -0.000913 0.004091
2017-09-29 0.020612 0.020141 0.032114 0.030790 0.018278 -0.008364
2017-10-31 0.023163 0.023405 0.001372 0.003200 0.032490 0.024870
IEF SHY IAU
2017-06-30 -0.005097 -0.000786 -0.021311
2017-07-31 0.003756 0.001860 0.023451
2017-08-31 0.014574 0.002022 0.040917
2017-09-29 -0.014407 -0.001867 -0.032233
2017-10-31 -0.003018 -0.001037 -0.000812
试过这个:
result = pd.DataFrame((aux * rtrnM).mean(axis=1),columns=['mthly'])
这并没有给我正确的结果。任何帮助,将不胜感激。猜测 numpy 是要走的路。
【问题讨论】:
标签: python pandas numpy dataframe average