Pandas loc:多索引并选择具有特定索引值的行

问题描述 投票:2回答:1

我有一个3列A B C的数据帧

A B C
1 2 10
2 3 20
3 0 30

我已将列A,B编入索引并已排序

df = ( df.set_index([A,B]).sort_index())

我想选择索引为A(1,2)和索引为B(2,3)的行

df1 = df.loc[[[1,2],[2,3]]]

它引发了一个错误..我做错了什么..我做了很少的其他事情,并没有能够提供解决方案..

python pandas multi-index
1个回答
1
投票

IIUC,你使用元组,因为这是MultiIndex值被散列的方式(因为列表不能被散列)。

print(df.loc[[(1, 2), (2, 3)]])
      C
A B
1 2  10
2 3  20
© www.soinside.com 2019 - 2024. All rights reserved.