Pandas处理CTe列:移除横杠及后续字符的方法
解决方案
针对你需要格式化CTe列、移除-及后续内容的需求,这里有几种高效的方法,适合大数据量处理:
方法1:字符串分割(最直观高效)
利用Pandas的str.split()方法按-分割字符串,直接取分割后的第一部分:
df['CTe'] = df['CTe'].str.split('-').str[0]
这个方法会把每个CTe值拆分成以-为分隔符的列表,再提取列表的第一个元素,完美保留-前的内容。
方法2:正则表达式提取(精准匹配数字)
如果需要确保只提取开头的数字部分(避免意外字符干扰),可以用str.extract()配合正则:
df['CTe'] = df['CTe'].str.extract(r'^(\d+)', expand=False)
正则^(\d+)会匹配字符串开头的连续数字,extract会提取这个匹配到的部分,返回结果和预期一致。
验证结果
处理后的DataFrame会变成:
CTe UF 0 1221 A 1 12321 B 2 123 C
这样处理后的CTe列就可以直接和另一DataFrame执行merge操作了。
内容的提问来源于stack exchange,提问作者Igor
相关产品推荐
相关产品推荐

