【发布时间】:2020-10-27 11:32:49
【问题描述】:
arrays = [np.array(['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux']),
np.array(['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two'])]
df2 = pd.DataFrame(np.random.randn(8, 4), index=arrays)
我的矩阵是 df2。现在我想选择'foo','one'和'two'的所有行,但只选择multiIndex'bar'的'one'行。这似乎很容易,但我尝试了多种方法都没有成功。
df2.loc['bar':('foo','one')]
,产生一个类似的矩阵,但包括我不想要的“baz”行。
df2.loc[idx['foo','bar'],idx['one','two'], :]
,也类似但第二行的'foo','two'我不要了。
如果有人可以提供帮助并提供一些处理 multiIndex 的技巧,那就太好了!
【问题讨论】:
-
我非常有信心Select rows in MultiIndex dataFrame 会有所帮助。
-
感谢您的回复!会看看
-
与此同时,这似乎是解决您的问题的最快方法:
pd.concat([df.loc[['foo']], df.loc[[('bar', 'one')]]])
标签: pandas indexing multi-index