我有一个包含120列的pandas数据帧。列看起来像这样:
0_x 1_x 2_x 3_x 4_x 5_x 6_x 7_x 8_x 0_y ... 65 ... 120
如何在一次动作中重命名它们?我阅读了文档,发现在pandas中重命名列的方式是:
df.columns = ['col1', 'col2', 'col3']
问题在于,我编写超过120列的列表可能非常奇怪。这个问题存在哪些替代方案?假设我想将所有列命名为:col1
到colN
。
答案 0 :(得分:5)
使用列表理解和枚举或范围足够简单:
df.columns = ['col%s' % i for i in range(len(df.columns))]
df.columns = ['col%s' % i for i, c in enumerate(df.columns)]
我更喜欢枚举,即使你只是扔掉了列名。没有坚定的理由,我只是不喜欢 func(func(something))的外观,并在我可以的时候避开它。