首页 > 解决方案 > 使用 for 循环重命名多个列(python)

问题描述

下面的数据框有许多列,但列名是随机数。

每天1=

        0   1   2   3   4   5   6   7   8   9   ... 11  12  13  14  15  16  17  18  19  20
    0   0   0   0   0   0   0   4   0   0   0   ... 640 777 674 842 786 865 809 674 679 852
    1   0   0   0   0   0   0   0   0   0   0   ... 108 29  74  102 82  62  83  68  30  61
2 rows × 244 columns

我想按数字顺序组织列名(从 0 到 243)

我试过

for i, n in zip(daily1.columns, range(244)):
    asd=daily1.rename(columns={i:n})
    asd

但输出没有显示...

理想的输出是

        0   1   2   3   4   5   6   7   8   9   ... 234 235 236 237 238 239 240 241 242 243
    0   0   0   0   0   0   0   4   0   0   0   ... 640 777 674 842 786 865 809 674 679 852
    1   0   0   0   0   0   0   0   0   0   0   ... 108 29  74  102 82  62  83  68  30  61

我能得到一些建议吗?谢谢

标签: pythonpython-3.xpandasdataframe

解决方案


如果您想重新排序列,您可以尝试

columns = sorted(list(df.columns), reverse=False)
df = df[columns]

如果您只想重命名列,那么您可以尝试

df.columns = [i for i in range(df.shape[1])]

推荐阅读