繁体   English   中英

使用pandas在关键短语之后提取字符串的特定部分?

[英]Extract a certain part of a string after a key phrase using pandas?

我有一个NFL数据集,其中包含有关比赛详情的“说明”列。 每个成功的传球和奔跑都有一个字符串,其结构如下:

“(12:25)(无杂散Shot弹枪)P.Manning左路短传给W.Welker在DEN 34处将ob推了10码(C.Graham)。”

如何找到/提取字符串中“ for”之后的数字,并将其放置在新列中?

您可以使用Series str.extract字符串方法:

In [11]: df = pd.DataFrame([["(12:25) (No Huddle Shotgun) P.Manning pass short left to W.Welker pushed ob at DEN 34 for 10 yards (C.Graham)."]])

In [12]: df
Out[12]:
                                                   0
0  (12:25) (No Huddle Shotgun) P.Manning pass sho...

这将“提取”该组的内容(在括号内):

In [13]: df[0].str.extract("for (\d+)")
Out[13]:
0    10
Name: 0, dtype: object

In [14]: df[0].str.extract("for (\d+) yards")
Out[14]:
0    10
Name: 0, dtype: object

您需要转换为int,例如使用astype(int)

这将获取数字10并将其放在一个称为yards的变量中。

x =“(12:25)(没有杂物Shot弹枪)P.Manning左路短传,W.Welker将ob在DEN 34推了10码(C.Graham)。

码=(x.split(“ for”)[-1])。split(“ yards”)[0]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM