【发布时间】:2018-11-08 06:23:45
【问题描述】:
我需要重命名 pandas 中的列,以便与预定义关键字关联的多个不同列名的标题被该关键字替换。
我希望将几个不同的潜在列名的列表与一个关键字相关联,然后我可以将其用于以后对信息进行分组。这不是Renaming columns in pandas 中的这个问题,因为它没有解决可以与一个关键字关联的多个列名的使用。
例如:猫、狗、鸟、鱼 -> 替换为标题“动物”
我正在查看重命名函数 HERE 和 HERE ,但是,它似乎没有考虑将多个列与要重命名的关键字相关联的可能性。
这可以在 pandas 中实现吗?
到目前为止我的(不工作)尝试如下:
newNames = {
'animals':['cats','dogs','fish'],
'colors':['red','blue','green']
}
样本df:
cats dogs fish red
1 2 3 2
2 3 5 4
3 4 3 4
df.rename(index=str,columns=newNames,inplace=True)
想要的结果:
animals animals animals colors
1 2 3 2
2 3 5 4
3 4 3 4
【问题讨论】:
-
重复列通常是一个非常糟糕的主意。它可能会使您的结果无法使用。你确定这是你想要的吗?
-
它不是重复的@DenisRasulev,因为该问题没有解决我面临的问题。
-
@jpp 是的,因为我稍后想对标题中的信息进行分组
-
@jpp 因为这是一个示例数据,所以我将处理数千个不同的 csv,我想规范化列名。
-
当然,
pandas也可以处理数千个数据帧。像这样将列命名相同,几乎可以肯定不是解决问题的最佳方法。
标签: python pandas multiple-columns rename