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