pandas如何删除字符串中的括号及内部内容并转为字符串列表
错误原因
你之前的操作是直接将整个Series对象转为字符串后做正则替换,str(x)得到的是pandas Series的打印格式化文本,自带索引、换行、元数据说明等冗余内容,因此替换后格式混乱。正确做法是对Series中的每一个字符串元素做逐元素处理。
正确实现代码
import pandas as pd # 逐元素替换括号及内部内容,同时去掉括号前的多余空格 processed = x.str.replace(r'\s*\([^()]*\)', '', regex=True) # 如果需要过滤掉'Unnamed: 0'和ERCC开头的项,只保留目标基因名可加这一步 processed = processed[~processed.str.contains('Unnamed:|ERCC-')] # 转为Python列表格式 result_list = processed.to_list()
输出效果
执行后result_list的格式为:
['TSPAN6', 'TNMD', 'DPM1', 'SCYL3', 'C1orf112', 'FGR', 'CFH', 'FUCA2', 'GCLC', ...]
完全符合你需要的格式要求。
内容的提问来源于stack exchange,提问作者Geinkehdsk
相关产品推荐
相关产品推荐

