从列标题中删除特殊字符[重复]

Posted

技术标签:

【中文标题】从列标题中删除特殊字符[重复]【英文标题】:Removing special characters from column headers [duplicate] 【发布时间】:2021-07-27 09:54:43 【问题描述】:

我使用to_flat_index() 来展平列,并最终得到像('Method', 'sum') 这样的列名。我正在尝试从这些中删除特殊字符。但是当我尝试删除它们时,它会将所有列名更改为nan

函数尝试: df_pred.columns = df_pred.columns.str.replace("[(,),']", '')

预期结果:MethodSum

【问题讨论】:

【参考方案1】:

您的列似乎是多索引的,因为您使用to_flat_index

>>> df
        bar                 baz                 foo                 qux
        one       two       one       two       one       two       one       two
0  0.713825  0.015553  0.036683  0.388443  0.729509  0.699883  0.125998  0.407517
1  0.820843  0.259039  0.217209  0.021479  0.845530  0.112166  0.219814  0.527205
2  0.734660  0.931206  0.651559  0.337565  0.422514  0.873403  0.979258  0.269594
3  0.314323  0.857317  0.222574  0.811631  0.313495  0.315072  0.354784  0.394564
4  0.672068  0.658103  0.402914  0.430545  0.879331  0.015605  0.086048  0.918678

试试:

>>> df.columns.to_flat_index().map(''.join)
Index(['barone', 'bartwo', 'bazone', 'baztwo',
       'fooone', 'footwo', 'quxone', 'quxtwo'],
      dtype='object')

【讨论】:

谢谢你,这很好用

以上是关于从列标题中删除特殊字符[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何删除/替换字符串列中的一系列特殊字符? [关闭]

使用php和正则表达式从字符串中删除数字和特殊字符[重复]

删除重音和特殊字符[重复]

删除java中的所有特殊字符[重复]

删除空格和特殊字符后,ElasticSearch会查找所有重复项

如果源字符串包含特殊字符,如何用其他字符串替换字符串[重复]