midx = pd.MultiIndex(levels=[['zero', 'one'], ['x', 'y']],labels = [[1, 1, 0, 0],[1, 0, 1, 0]])
df = pd.DataFrame(np.random.randn(4, 2), index=midx)
>>midx
0 1
one y 0.477304 0.247328
x -1.267339 -1.779735
zero y 0.812613 1.119952
x 0.092788 0.384020
df.xs('one')[1]
Out[44]:
y 0.247328
x -1.779735
作为
pd.IndexSlice
的替代方法,您可以使用pd.DataFrame.query
并在单独的步骤中选择列:根据the docs,
ilevel_0
用于表示第一个未命名索引。为清楚起见,如果在构造数据帧时定义了正名,则可以将其替换为正名IIUC公司:
或者更明确地说:
相关问题 更多 >
编程相关推荐