新列名存储在数组“ ID”中。
我想相应地替换df的列名
'0'-> IDs [0],'1'-> IDs [1],'31'-> IDs [30]
当前,我正在使用这种方式重命名为列。
df.columns = [IDs[0], IDs[1], ... , IDs[29], IDs[30]]
但是,有超过30列。有什么方法可以简化代码吗?
编辑:我发现之前的内容具有误导性,所以我修改了问题
答案 0 :(得分:0)
您可以使用列表切片:
df.columns = IDs[:30] + [IDs[-1]]
答案 1 :(得分:0)
由于提到了数组,因此可以使用np.hstack
:
n = 30
df.columns = np.hstack((IDs[:n], IDs[-1]))
对于Pandas来说,这种分配是很自然的,其中索引以NumPy数组的形式存储在内部。