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

标签 python pandas

关注此线程: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

最佳答案

如果在['content2']中省略[],则可以在列中省略MultiIndex:

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())

关于python - 旋转后重命名列标题中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56730741/

相关文章:

python - 在 Jupyter Notebook 中找不到 OpenCV,但在终端中找到

来自文件的Python嵌套循环

python - 在 Sklearn Pipeline 中将 VotingClassifier 与其他分类器一起使用

python - 将常量列添加到 Pandas 数据框的更好方法

python - 如何使用日期时间索引和位置选择两组年份?

python - libclntsh.so.12.1 的 CX_Oracle 导入错误

python/excel 单元格 -> png

python - 计算日志变化的替代方法会产生不同的结构

python - 在合并的 csv 文件中添加附加列

python - 用数组替换 pandas 列值