首页 > 解决方案 > 根据 multi_index 列表选择 Dataframe 的值

问题描述

我有一个像这样的数据框

|                                             |      value |
|:--------------------------------------------|-----------:|
| (Timestamp('2021-07-16 00:00:00'), 'item1') | nan        |
| (Timestamp('2021-07-16 00:00:00'), 'item2') | nan        |
| (Timestamp('2021-07-17 00:00:00'), 'item1') |   1        |
| (Timestamp('2021-07-17 00:00:00'), 'item2') |   1        |
| (Timestamp('2021-07-18 00:00:00'), 'item1') |   0.921691 |
| (Timestamp('2021-07-18 00:00:00'), 'item2') |   1        |
| (Timestamp('2021-07-19 00:00:00'), 'item1') |   0.969127 |
| (Timestamp('2021-07-19 00:00:00'), 'item2') |   0.955167 |
| (Timestamp('2021-07-20 00:00:00'), 'item1') |   0.993769 |
| (Timestamp('2021-07-20 00:00:00'), 'item2') |   0.994275 |

我想选择一个这样的多索引列表:

df.loc[[("2021-07-18","item1"), ("2021-07-18","item2")]]

但我收到此错误:

None of [MultiIndex([('2021-07-18', 'item1'),('2021-07-18', 'item2')],\n names=['index', 'variable'])] are in the [index]

但是,以下工作

df.loc[("2021-07-18","item1")]

和这个 :

df.loc[[("2021-07-18","item1")]]

返回

KeyError: "None of [MultiIndex([('2021-07-18', 'item1')],
names=['index', 'variable'])] are in the [index]"

标签: pythonpandasmulti-index

解决方案


推荐阅读