【问题标题】:Delete columns from Pandas dataframe with multiple indexes从具有多个索引的 Pandas 数据框中删除列
【发布时间】:2016-04-09 23:56:43
【问题描述】:

我有一个带有两行索引的 PANDAS 数据框。我想根据第二行索引保留某些列。我怎么能做到?我尝试了几件事,但没有任何效果。例如,考虑以下数据框:

         AAA              BBB              CCC
         C1   C2   C3     C1   C2   C3     C1   C2   C3
Index   
1        1    2    3      4    5    6      1    2    3
2        2    5    0      7    8    9      7    4    5
3        7    4    1      5    7    2      2    5    9

如何才能为所有情况(即 AAA、BBB、CCC)只保留 C2 列。因此,我想拥有:

             AAA BBB CCC
             C2  C2  C2
   Index
   1         2   5   2
   2         5   8   4
   3         4   7   5

提前感谢您的帮助。

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    让我举个例子:

    df = pd.DataFrame(np.random.randint(9,size=(3,9)))
    df.columns = pd.MultiIndex.from_product([['AAA','BBB','CCC'],['C1','C2','C3']])
    
          AAA       BBB       CCC      
       C1 C2 C3  C1 C2 C3  C1 C2 C3
    0   8  3  7   2  8  7   1  8  2
    1   8  3  1   8  5  2   0  1  0
    2   4  0  0   5  8  4   7  1  5
    
    df.iloc[:, df.columns.get_level_values(1)=='C2'] # note get_level_values()
    
      AAA BBB CCC
       C2  C2  C2
    0   3   8   8
    1   3   5   1
    2   0   8   1
    

    【讨论】:

      猜你喜欢
      • 2020-02-22
      • 2020-12-17
      • 2021-03-22
      • 1970-01-01
      • 2019-01-16
      • 2016-03-13
      • 2019-09-23
      • 2021-12-05
      • 2014-08-09
      相关资源
      最近更新 更多