【发布时间】:2018-05-18 22:34:47
【问题描述】:
我有一个包含 1 列数据的多索引数据框,如下所示:
Weight
Ticker date
ABC 2017-03-31 00:00:00 .00292
... ... ...
我是这样引用的:
df.loc[(ticker,date),'Weight']
我得到的不是返回值:
Ticker date
ABC 2017-03-31 0.00292
而不是这个:
0.00292
当我输入 info() 时,它告诉我我有一个包含 1 个数据列的 MultiIndex 数据框。
我在整个脚本中都有这样的数据/代码 - 但是对于这个特定的数据(看起来很干净)和这个语法它不起作用。
奇怪的是,当我这样做时:
df.loc[(ticker,date),'Weight'][0]
返回
0.00292
但是当我尝试遍历 df 时,它似乎恢复为
Ticker date
ABC 2017-03-31 0.00292
然后我就不能执行其他操作了。
知道发生了什么吗?
【问题讨论】:
-
无法重现该问题。
df.loc[(ticker,date),'Weight']给我0.00292 -
这太疯狂了。我还有其他几个可以正常工作的多级索引。我应该补充一点,我通过在另一个上使用
.copy()创建了这个 df。然后我设置多级索引。 Spyder 告诉我这是一个多级索引.... -
试试
.item():)
标签: python pandas reference multi-index