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

stu*_*ent 1 python python-3.x pandas

我有一个包含120列的pandas数据帧.列看起来像这样:

0_x     1_x     2_x     3_x     4_x     5_x     6_x     7_x     8_x     0_y     ...     65 ... 120
Run Code Online (Sandbox Code Playgroud)

如何在一次运动中重命名它们?我阅读了文档,发现在pandas中重命名列的方法是:

df.columns = ['col1', 'col2', 'col3']
Run Code Online (Sandbox Code Playgroud)

问题是我写的120多列的列表可能很奇怪.这个问题存在哪些替代方案?假设我想将所有列命名为:col1to colN.

小智 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)]
Run Code Online (Sandbox Code Playgroud)

我更喜欢枚举,即使你只是扔掉了列名.没有坚定的理由,我只是不喜欢func(func(something))的外观并且尽可能避免它.

  • 您不必在枚举中指定`c`,而可以使用`df.columns = [en的枚举(df.columns)中的__的'cols%s'%i,__,']向读者表示您是扔掉变量。完全个人喜好:http://stackoverflow.com/questions/5893163/what-is-the-purpose-of-the-single-underscore-variable-in-python (2认同)