如何按指定单词拆分DataFrame列值并生成两列?
按指定单词拆分DataFrame列的解决方案
针对你需要将DataFrame的字符串列按指定单词(此处为speak)拆分为两列的需求,提供两种可行方法:
方法1:使用str.split拆分
利用字符串拆分方法,先按speak (带空格)拆分,再将speak补回第一列:
# 按"speak "拆分,仅拆分1次并展开为两列 df[['V1', 'V2']] = df['V1'].str.split('speak ', n=1, expand=True) # 将"speak"添加回V1列末尾 df['V1'] = df['V1'] + ' speak'
方法2:使用正则str.extract捕获
通过正则捕获组精准匹配两部分内容,更稳定可靠:
# 第一个捕获组匹配到"speak"为止的所有内容,第二个组匹配后续内容 df[['V1', 'V2']] = df['V1'].str.extract(r'(.*\bspeak\b)\s+(.*)')
两种方法最终都能得到你期望的DataFrame结构:
V1 V2 0 Could you please speak a little bit more slowly 1 Could you please speak a little bit more slowly 2 Could you please speak a little bit more slowly 3 Could you please speak a little bit more slowly
内容的提问来源于stack exchange,提问作者Munrock
相关产品推荐
相关产品推荐

