如何从df列标题中删除空白(strip不起作用)

2024-09-30 08:27:27 发布

您现在位置:Python中文网/ 问答频道 /正文

这个问题我已经问过几次了,但建议的答案似乎对我不起作用。我带来了一个带有read_csv的csv,并试图清理名称,最初是:

In [89]: data.columns
Out[89]: 
Index(['Node Number', 'X [ m ]', 'Y [ m ]', 'Z [ m ]',
       'Turbulence Kinetic Energy [ m^2 s^-2 ]', 'turbulenceIntensity',
       'Velocity u [ m s^-1 ]', 'Velocity v [ m s^-1 ]',
       'Velocity w [ m s^-1 ]', 'windspeedratio'],
      dtype='object')

我发现最简单的建议是:

^{pr2}$

但如果我这么做,绝对不会有任何改变。与…相同

data.columns = data.columns.str.strip()

知道为什么吗?在


Tags: columnscsv答案in名称nodenumberread
2条回答

Strip只删除前导空格和尾随空格。如果您想删除所有空白(包括各种空白,如制表符、换行符、空格等),则可以使用以下方法

import string
def remove_whitespace(x):
    table = {ord(char): None for char in string.whitespace}
    return x.translate(table)

data.rename(columns=remove_whitespace, inplace=True)

正如布拉德提到的,以下几点也可以达到同样的效果。在

^{pr2}$

似乎您需要replace所有' '到{}

df.columns.str.replace(' ','')
Out[103]: 
Index(['NodeNumber', 'X[m]', 'Y[m]', 'Z[m]',
       'TurbulenceKineticEnergy[m^2s^-2]', 'turbulenceIntensity',
       'Velocityu[ms^-1]', 'Velocityv[ms^-1]', 'Velocityw[ms^-1]',
       'windspeedratio'],
      dtype='object')

相关问题 更多 >

    热门问题