0

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

我想相应地替换 df 的列名

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

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

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

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

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

4

2 回答 2

0

您可以使用列表切片:

df.columns = IDs[:30] + [IDs[-1]]
于 2019-01-20T04:31:18.237 回答
0

既然你提到了数组,你可以使用np.hstack

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

对于 Pandas,这样的分配是很自然的,其中索引在内部存储为 NumPy 数组。

于 2019-01-20T04:38:03.403 回答