繁体   English   中英

重命名熊猫中的一系列列

[英]Renaming a range of columns in pandas

我正在尝试对具有列名称的巨大数据框执行计算,例如Std 1 , Std 2 , ..., Std 8760 鉴于 Python 不识别空格(' ') ,我想更改这些名称,但使用df.renamedf.replace等函数要么很耗时,因为我必须指定所有的新名称列或将为所有列赋予相同的名称(我不想要)。

另外,我尝试使用df.columns.str.replace(' ','_')去除空格并保持名称相同,但我的输出为:

Index([u'_J_a_h_r_', u'_i_d___a_g_s___l_k_', u'_H_o_e_h_e___i_n___m_',
       u'_S_t_d_ _1_', u'_S_t_d_ _2_', u'_S_t_d___1_', u'_S_t_d_ _4_',
       u'_S_t_d_ _5_', u'_S_t_d_ _6_', u'_S_t_d_ _7_',
       ...
       u'_S_t_d_ _8_7_7_5_', u'_S_t_d_ _8_7_7_6_', u'_S_t_d_ _8_7_7_7_',
       u'_S_t_d_ _8_7_7_8_', u'_S_t_d_ _8_7_7_9_', u'_S_t_d_ _8_7_8_0_',
       u'_S_t_d_ _8_7_8_1_', u'_S_t_d_ _8_7_8_2_', u'_S_t_d_ _8_7_8_3_',
       u'_S_t_d___8_7_6_4_'],
      dtype='object', length=8787)

这不能解决我的问题,因为我仍然可以看到“Std”和下图之间的空格。

我不知道最好的方法是什么,但我会做这样的事情:

df_cols = df.columns.tolist()
map = str.maketrans({' ':'_'})
new_df_cols = [col.translate(map) for col in df_cols]

df.columns = new_df_cols

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM