[英]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.