【问题标题】:Python Pandas Referencing Value in Multiindex Dataframe多索引数据框中的 Python Pandas 引用值
【发布时间】: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


【解决方案1】:

绝对疯狂。最后通过在最后使用 [0] 解决,如上所述。所有可用信息都指向正确更改为多索引数据帧的常规数据帧中的数据。也没有数据异常。很奇怪

【讨论】:

    猜你喜欢
    • 2020-10-22
    • 2013-05-20
    • 2018-10-04
    • 2020-06-21
    • 2015-03-10
    • 2020-07-17
    • 2017-08-27
    • 2017-08-19
    相关资源
    最近更新 更多