我有以下带有MultiIndex(Z,A)的Pandas Dataframe:
H1 H2
Z A
0 100 200 0.3112 -0.4197
1 100 201 0.2967 0.4893
2 100 202 0.3084 -0.4873
3 100 203 0.3069 NaN
4 101 203 -0.4956 NaN
Run Code Online (Sandbox Code Playgroud)
问题:如何选择A = 203的所有项目?我试过df[:,'A'] 但它不起作用.然后我在在线文档中找到了这个,所以我尝试了:
df.xs(203,level='A')
但我得到:
" TypeError: xs() got an unexpected keyword argument 'level'"
我也没有在安装的doc(df.xs?)中看到这个参数:
"参数---------- key:object包含的一些标签索引,或部分在MultiIndex轴中:int,default 0用于检索副本上的横截面的轴:boolean,default True是否复制数据"
注意:我有开发版本.
编辑:我找到了这个帖子.他们建议像:
df.select(lambda x: x[1]==200, axis=0)
Run Code Online (Sandbox Code Playgroud)
我仍然想知道df.xs使用level参数发生了什么,或者当前版本中推荐的方式是什么.
问题在于我的假设(不正确),我在开发版本,而实际上我有1.6.1,可以检查当前安装的版本:
import pandas
print pandas.__version__
Run Code Online (Sandbox Code Playgroud)
在当前版本中df.xs(),level参数工作正常.