代码之家  ›  专栏  ›  技术社区  ›  PapaTim68

从现有索引字符串创建多个索引

  •  3
  • PapaTim68  · 技术社区  · 7 年前

    我得到了这样一个数据帧:

     df = pd.DataFrame([[1,2,3,4,5,6], [7,8,9,10,11,12]],columns=["a123X","a123Y","a123Z","b123X", "b123Y", "b123Z"])
       a123X  a123Y  a123Z  b123X  b123Y  b123Z
    0      1      2      3      4      5      6
    1      7      8      9     10     11     12
    

    df.columns = (df.columns.str[:-1] + "_" + df.columns.str[-1]).str.split("_", expand=True)
      a123       b123        
         X  Y  Z    X   Y   Z
    0    1  2  3    4   5   6
    1    7  8  9   10  11  12
    

    有没有什么办法使这更容易-它将永远是最后一个字母,这将是索引中的第二级。

    1 回复  |  直到 7 年前
        1
  •  1
  •   jezrael    7 年前

    向后分配嵌套列表:

    df.columns = [df.columns.str[:-1],  df.columns.str[-1]]
    print (df)
    
      a123       b123        
         X  Y  Z    X   Y   Z
    0    1  2  3    4   5   6
    1    7  8  9   10  11  12