python - Pandas 数据框选择多索引中的列

标签 python pandas hierarchical multi-index

我有以下 pd.DataFrame:

Name    0                       1                      ...
Col     A           B           A            B         ...
0       0.409511    -0.537108   -0.355529    0.212134  ...
1       -0.332276   -1.087013    0.083684    0.529002  ...
2       1.138159    -0.327212    0.570834    2.337718  ...

它具有带有 names=['Name', 'Col'] 和分层级别的 MultiIndex 列。 Name 标签从 0 到 n,对于每个标签,有两个 AB 列。

我想子选此 DataFrame 的所有 A(或 B)列。

最佳答案

有一个 get_level_values 方法可以与 bool 索引结合使用以获得预期的结果。

In [13]:

df = pd.DataFrame(np.random.random((4,4)))
df.columns = pd.MultiIndex.from_product([[1,2],['A','B']])
print df
          1                   2          
          A         B         A         B
0  0.543980  0.628078  0.756941  0.698824
1  0.633005  0.089604  0.198510  0.783556
2  0.662391  0.541182  0.544060  0.059381
3  0.841242  0.634603  0.815334  0.848120
In [14]:

print df.iloc[:, df.columns.get_level_values(1)=='A']
          1         2
          A         A
0  0.543980  0.756941
1  0.633005  0.198510
2  0.662391  0.544060
3  0.841242  0.815334

关于python - Pandas 数据框选择多索引中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25189575/

相关文章:

与start()相关的Python多线程性能问题

python - 将 numpy 数组映射到 pandas DataFrame 会导致 ValueError

port - VHDL - 端口映射 - 将组件的不同端口映射到不同的实体

python - 如何存储多个不同长度的numpy一维数组并打印它

python - 如何在Python中自动填充firefox中的下载弹出窗口

Python - 绘制多边形

python:如何根据另一列分别对数据框列的唯一元素求和

python - 根据其他两个数据框的单元格内容创建一个 pandas 数据框

url - 人类可读的 URL : preferably hierarchical too?

deep-learning - 矩阵如何在 Hierarchical Softmax 模型中相乘?