Python 如何用玩具名称重命名长熊猫数据框?

Python 如何用玩具名称重命名长熊猫数据框?,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有一个120列的熊猫数据框。这些列的外观如下所示: 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多列的列表可能非常奇怪。对于这个问题,有哪些替代方案?。假设我

我有一个120列的熊猫数据框。这些列的外观如下所示:

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

简单易懂的列表理解和枚举或范围:

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(某物))的外观,并尽可能避免使用它。

列表理解和枚举或范围足够简单:

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(某物))的外观,如果可以的话就避免它。

您不必在枚举中指定
c
,而是可以使用
df.columns=['cols%s'%I for I,uuuuuuu(df.columns)]
向读者发出信号,表示您正在丢弃变量。不过,这完全是个人偏好:您不必在枚举中指定
c
,而是可以在枚举(df.columns)中使用
df.columns=['cols%s'%i for i,uu_u}向读者发出丢弃变量的信号。但这完全是个人偏好: