Pandas 如何删除DataFrame列中指定字符(示例为首个逗号)前的所有字符
实现方法
你可以使用Pandas内置的字符串处理方法完成需求,核心是仅按首个逗号拆分字符串后取后半段内容:
import pandas as pd # 仅做示例的测试数据构造 data = {'address': [ 'My Company Ltd, address, city, state, postcode, country', 'Business Plc, address, city, state, postcode, country', 'Work Harder Inc, address, city, state, postcode, country', 'Company Business People, address, city, state, postcode, country' ]} df = pd.DataFrame(data) # 核心处理代码 df['address'] = df['address'].str.split(',', n=1).str[1].str.lstrip()
代码说明
str.split(',', n=1):指定按逗号拆分,最多拆分1次,返回的列表仅包含两个元素,对应首个逗号前、逗号后的全部内容.str[1]:提取拆分后第二个元素,也就是首个逗号之后的所有内容.str.lstrip():去除逗号后多余的前置空格,匹配你期望的输出格式
如果需要兼容部分行没有逗号的场景,避免索引报错,可以改用如下写法,无逗号的行会直接保留原内容:
df['address'] = df['address'].str.split(',', n=1).str[-1].str.lstrip()
内容的提问来源于stack exchange,提问作者a.WOL7
相关产品推荐
相关产品推荐

