【发布时间】:2012-11-18 07:10:19
【问题描述】:
我有一个包含这些值的 MultiIndex DataFrame:
AAPL
minor
2007-09-14 OC 0.024436
2007-09-15 CC 0.030293
CO 0.017518
OC 0.024688
OO 0.031835
# to_dict():
{'AAPL': {(<Timestamp: 2007-09-14 00:00:00>, 'OC'): 0.024436265475779286,
(<Timestamp: 2007-09-15 00:00:00>, 'CC'): 0.030293017084353703,
(<Timestamp: 2007-09-15 00:00:00>, 'CO'): 0.017518449703066673,
(<Timestamp: 2007-09-15 00:00:00>, 'OC'): 0.024688182799779634,
(<Timestamp: 2007-09-15 00:00:00>, 'OO'): 0.031834725061579666}}
--
以及包含这些值的系列:
CC 15.874508
CO 18.590320
OC 30.503468
OO 15.874508
# to_dict():
{'CC': 15.874507866387544,
'CO': 18.590320061795602,
'OC': 30.503467646507644,
'OO': 15.874507866387544}
我想将所有次要索引 CC 值乘以系列中的 CC 值,并且与其他值相同。我在这里看到另一个问题,它给了我 .mul 方法,但是当我尝试这样做时,即使使用 level='minor',它也会告诉我:
TypeError: 只能与其他分层索引对象调用
我已将次要索引拆分为列,并指定 level='minor', axis='columns' 具有相同的结果。
最后,最终结果是能够在主要列是多个股票的 DataFrame 上运行相同的计算 - 在这种情况下,.mul() 是否也适用于每个股票?
感谢您的帮助!
【问题讨论】:
-
如果您添加 DateFrame 和 Series
.to_dict()的输出,那么我们解决这类问题会容易得多 :) 您使用什么代码将“次要索引 CC 乘以CC 价值”? -
我更新了它以添加 to_dict() 输出。