将数据帧A的索引与数据帧B的列号匹配

2024-10-04 05:22:19 发布

您现在位置:Python中文网/ 问答频道 /正文

简而言之,如何将数据帧的索引#与单独数据帧的列号相匹配


我之所以这么做,是因为DataFrame A有一个投资组合列表,该投资组合中每个基金的权重,以及相应的指标(回报率、波动率等),DataFrame B有DataFrame A中列出的每个投资组合的每日累计回报。请看下面每一张的剪贴画

数据帧A

   PSGAX  MACGX  CPOAX  MSFBX  ...  VINIX  Returns  Volatility  Sharpe Ratio
3   0.34  0.000    0.0  0.272  ...   0.15    0.130       0.097         1.031
2   0.00  0.000    0.0  0.000  ...   0.15    0.088       0.081         0.716
0   0.00  0.612    0.0  0.068  ...   0.15    0.097       0.145         0.462
1   0.00  0.000    0.0  0.000  ...   0.15    0.075       0.155         0.290

数据帧B

                       0             1             2             3
Date                                                              
2014-10-28      0.000000      0.000000      0.000000      0.000000
2014-10-29      0.000000      0.000000      0.000000      0.000000
2014-10-30  10064.705138   8326.212482   7397.407442  10071.353993
2014-10-31  10201.869986   8192.885999   7445.309580  10188.468770
2014-11-03  10184.040340   8272.103934   7447.680945  10148.797890
2014-11-04  10167.215094   8139.644423   7445.886503  10167.811613
2014-11-05  10070.419821   8009.376679   7467.766390  10212.995583
2014-11-06  10169.867499   8145.063117   7479.148990  10237.356046
2014-11-07  10157.369105   8388.279532   7479.980665  10201.779090
2014-11-10  10203.803157   8195.931455   7489.981792  10242.488798
2014-11-11  10215.416983   8344.922782   7488.531872  10274.749752
2014-11-12  10241.533449   8329.066481   7485.325991  10289.547296
......................................................................
2019-10-21  15202.051493  12506.156321  14809.452786  18902.729085
2019-10-22  14895.540671  12469.054343  14759.975126  18747.214047
2019-10-23  14921.969830  12519.182867  14765.817287  18799.355736
2019-10-24  15018.618443  12670.871976  14810.664506  18882.446150
2019-10-25  15104.878608  12723.237235  14833.833249  18928.260160

如您所见,数据帧A是按夏普比率排序的,这就是索引不按数字顺序排列的原因。在本例中,dataframeb的第3列包含了dataframea所示的“最佳”投资组合的累积每日收益

1)如果知道数据帧B的“最佳”列(在本例中是第3列)是数据帧A中的第一行,并且索引值与其在数据帧B中的位置相匹配,我该如何称呼它?

2)如果我想以类似的方式称第四名为“最佳”投资组合,该怎么做?


Tags: 数据dataframe列表基金指标returns权重回报率