lok*_*art 14 python regex pandas
我有一个由Pandas制作的数据框,我想删除每个列名末尾的空白区域.我尝试过类似的东西:
raw_data.columns.values = re.sub(' $','',raw_data.columns.values)
Run Code Online (Sandbox Code Playgroud)
但这不起作用,我在这里做错了什么?
lok*_*art 18
我应该使用这个re
包:
raw_data = raw_data.rename(columns=lambda x: re.sub(' $','',x))
Run Code Online (Sandbox Code Playgroud)
@Christian 的答案可能适合这个特定问题,但对于有关替换列中名称的更一般问题,我建议创建一个字典理解并将其传递给重命名函数:
df.rename(columns={element: re.sub(r'$ (.+)',r'\1', element, flags = re.MULTILINE) for element in df.columns.tolist()})
Run Code Online (Sandbox Code Playgroud)
就我而言,我想在每列的开头添加一些内容,因此:
df.rename(columns={element: re.sub(r'(.+)',r'x_\1', element) for element in df.columns.tolist()})
Run Code Online (Sandbox Code Playgroud)
您可以使用 inplace=True 参数来实际在数据框中进行更改。