如何以简化方式重命名多列

时间:2019-01-20 04:20:11

标签: python pandas

新列名存储在数组“ ID”中。

我想相应地替换df的列名

'0'-> IDs [0],'1'-> IDs [1],'31'-> IDs [30]

当前,我正在使用这种方式重命名为列。

df.columns = [IDs[0], IDs[1], ... , IDs[29], IDs[30]]

但是,有超过30列。有什么方法可以简化代码吗?

编辑:我发现之前的内容具有误导性,所以我修改了问题

2 个答案:

答案 0 :(得分:0)

您可以使用列表切片:

df.columns = IDs[:30] + [IDs[-1]]

答案 1 :(得分:0)

由于提到了数组,因此可以使用np.hstack

n = 30
df.columns = np.hstack((IDs[:n], IDs[-1]))

对于Pandas来说,这种分配是很自然的,其中索引以NumPy数组的形式存储在内部。