f4h*_*4hy 5 python multi-index pandas
我不太确定多重索引的工作原理,所以我可能只是在这里尝试做错事情。如果我有一个数据框
Value
A B
1 1 5.67
1 2 6.87
1 3 7.23
2 1 8.67
2 2 9.87
2 3 10.23
Run Code Online (Sandbox Code Playgroud)
如果要访问B = 2的元素,该怎么做?df.ix [2]给我A = 2。要获得特定值,似乎是df.ix [(1,2)],但这是B索引的目的,如果您不能直接访问它呢?
您可以使用xs:
In [11]: df.xs(2, level='B')
Out[11]:
Value
A
1 6.87
2 9.87
Run Code Online (Sandbox Code Playgroud)
或者:
In [12]: df1.xs(1, level=1)
Out[12]:
Value
A
1 5.67
2 8.67
Run Code Online (Sandbox Code Playgroud)
作为替代方案,您可以使用df.loc:
>>> df.loc[(slice(None),2),:]
Value
A B
1 2 6.87
2 2 9.87
Run Code Online (Sandbox Code Playgroud)
元组按顺序访问索引。因此,slice(None)从索引中获取所有值'A',第二个位置限制基于第二级索引,'B'=2在此示例中。指定:您需要所有列,但您也可以在那里对列进行子集设置。
| 归档时间: |
|
| 查看次数: |
3989 次 |
| 最近记录: |