如何将DataFrame某列句号前内容添加至另一列开头?
解决方案
你可以通过以下两种简洁的方式实现需求:
方法1:字符串分割提取前缀
利用str.split将existing_indiv列按句号分割,取分割后的第一个部分,再与queries列内容拼接:
import pandas as pd data = {'existing_indiv': ['stac.Altered', 'MASO.MHD'], 'queries': ['modify', 'change']} df = pd.DataFrame(data) # 修改queries列 df['queries'] = df['existing_indiv'].str.split('.').str[0] + '.' + df['queries'] print(df)
输出结果:
existing_indiv queries 0 stac.Altered stac.modify 1 MASO.MHD MASO.change
方法2:正则表达式提取前缀
如果需要更精准匹配(比如应对existing_indiv中存在多个句号的场景),可以用str.extract结合正则提取第一个句号前的内容:
df['queries'] = df['existing_indiv'].str.extract(r'^([^.]+)') + '.' + df['queries']
正则r'^([^.]+)'会匹配从字符串开头到第一个句号之前的所有非句号字符,确保提取的是目标前缀。
内容的提问来源于stack exchange,提问作者xavi
相关产品推荐
相关产品推荐

