python - 从 MultiIndex 中选择特定级别的数据

标签 python pandas

我有以下带有 MultiIndex(Z,A) 的 Pandas 数据框:

             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       

问题:如何选择所有A=203的项目? 我尝试了 df[:,'A'] 但它不起作用。然后我找到this在在线文档中,所以我尝试了:
df.xs(203,level='A')
但我得到:
TypeError: xs() 得到了一个意外的关键字参数‘level’
我也没有在安装的文档中看到这个参数(df.xs?):
"Parameters ---------- key : object 某些标签包含在索引中,或部分包含在 MultiIndex 轴中:int,默认 0 轴在副本上检索横截面:boolean,默认 True 是否制作资料副本”
注:我有开发版

编辑:我找到了 this thread .他们推荐这样的东西:

df.select(lambda x: x[1]==200, axis=0)  

我还是想知道带level参数的df.xs发生了什么,或者当前版本推荐的方式是什么。

最佳答案

问题在于我假设(不正确)我使用的是开发版本,而实际上我使用的是 1.6.1,可以通过以下方式检查当前安装的版本:

import pandas
print pandas.__version__

在当前版本 df.xs() 中,使用 level 参数可以正常工作。

关于python - 从 MultiIndex 中选择特定级别的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10175068/

相关文章:

python - 为什么这个套接字连接只允许1次发送和接收?

Python quickstart.py 适用于我的 Google 表格电子表格

python - 阅读第 3 方模块的 Python 文档

python - 根据 pandas 的第一列进行多元线性回归

python - 迭代 pandas df 行并执行操作

python - Pandas :多次使用替换方法修改特定级别的Multiindex

python - 重复索引的 pandas xs 和 loc 之间的不一致

python - 如何读取到达 PTY 主端的数据副本?

python - pandas str contains 返回匹配项

python - 从 csv 加载 str.get_dummies() panda df 的问题