如何移除DataFrame表头中以\开头的多个后缀?
解决DataFrame表头去除\开头后缀的问题
你之前的代码没生效是因为正则表达式写错了——r'\$'匹配的是美元符号$,而你的表头后缀是反斜杠\开头的,完全不匹配,所以替换没效果。
不用逐一指定后缀,这两种简便方法就能搞定:
方法1:正则替换直接去掉\及后面的所有内容
用正则匹配从\开始到结尾的所有字符,直接替换为空:
data.columns = data.columns.str.replace(r'\\.*', '', regex=True)
- 这里
\\是正则里对反斜杠的转义(因为反斜杠在正则中是特殊字符),.*表示匹配任意字符直到结尾,这样就能把\foo、\bar这类后缀全部去掉。
方法2:按\分割表头,取第一部分
把每个表头按反斜杠分割成两部分,直接取前面的部分:
data.columns = data.columns.str.split(r'\\').str[0]
- 同样用
r'\\'作为分隔符(原始字符串转义反斜杠),分割后取索引为0的元素,就是你要的Column-A、Column-B。
这两种方法都能批量处理所有带\后缀的表头,不用一个个指定后缀名称。
内容的提问来源于stack exchange,提问作者Iceberg_Slim
相关产品推荐
相关产品推荐

