为了账号安全,请及时绑定邮箱和手机立即绑定

PANDAS 在一列字符串中找到确切的单词和单词(多个)之前的单词

PANDAS 在一列字符串中找到确切的单词和单词(多个)之前的单词

呼唤远方 2021-12-09 14:47:00
数据框看起来像这样col_aPython PY is a general purpose PY languageProgramming PY language in Python PY Its easier to understand  PYThe syntax of the language is clean PY这段代码我试图实现此功能,但无法获得预期的输出。如果有任何帮助表示赞赏。这是我使用正则表达式处理的以下代码:df['col_a'].str.extract(r"([a-zA-Z'-]+\s+PY)\b")期望的输出:col_a                                       col_b_PY     Python PY is a general purpose language         Python PY purpose PYProgramming PY language in Python PY            Python PY Programming PY     Its easier to understand  PY                    understand PY The syntax of the language is clean PY          clean  PY
查看完整描述

2 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

简单模式将提取所需的字符串: \w+\s+PY

说明:\w+匹配一个或多个单词字符,然后\s+匹配一个或多个空格后跟PY.


查看完整回答
反对 回复 2021-12-09
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

import re

def app(row):

    return ' '.join(re.findall(r'\w+\s+PY', row.col_a))


df['col_b_PY'] = df.apply(app, axis=1)

您需要连接应用函数中每一行的所有匹配项。也可以使用它来做到这extractall一点,但我发现这更简单、更直接。


查看完整回答
反对 回复 2021-12-09
  • 2 回答
  • 0 关注
  • 223 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号