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

旋转后重命名列标题中的特殊字符

  •  0
  • PV8  · 技术社区  · 6 年前

    沿着这条线: Renaming columns in pandas .我想用这句话:

    df.columns = df.columns.str.replace('$','')
    

    问题是我用 df.pivot_table().to_records() 并将其转换为记录,现在我的列标题具有以下语法: "('content2', ':13A::STAT')"

    从这里我只想保留: 13A::STAT ,有什么想法吗?

    在数据框的旋转中,有没有办法避免这种重命名?

    示例数据框(旋转后):

    occurance ('content2, ':13A::STAT') ('content2', '17B::ACTI')
    1          4000                       Y
    2            NaN                       73000
    

    预期产量:

    occurance 13A::STAT                  17B::ACTI
    1          4000                       Y
    2            NaN                       73000
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   jezrael    6 年前

    你可以省略 MultiIndex 如果省略,则在列中 [] 在里面 ['content2'] 以下内容:

    df1 = (df.pivot_table(index='occurance', 
                         columns="random", 
                         values='content2', 
                         aggfunc = lambda x: x.tolist() if len(list(x)) > 1 else x.iat[0])
            .to_records())