我有一个人的熊猫数据框,并且每行都有一个关于跑步比赛的报告。每个句子都报告一个名字。例如。 “菲利普·杰弗瑞(Philip Jeffery)精彩地起步。鲍勃·莫尔(Bob More)摔倒了。”名称最多可包含5个字。因此,我希望能够将他们的报告与每个人进行匹配。因此,Philip在数据框的一行上,在“事件”报告中,应该说“ Philip Jeffery开创了辉煌”。因此,我认为REGEX将是完美的,但无法在网上找到有关此问题的任何信息,并且我对引擎还很陌生。这是我到目前为止想要的,如果名称长度为一个单词。
if len(NameTokens)==1:
REGEX=r"(^\\s+{}(?:[A-Za-z,;'\"\\s]+[.?!]$))".format(NameTokens[0])
#print(REGEX)
RunnerReport=df_merge['Incident Report'].str.extract(REGEX, expand=True)
print(RunnerReport)
NameTokens是标记为列表的名称,例如['Philip','Jeffery']。
变量REGEX需要有效的REGEX,因为目前我的REGEX不会返回任何结果,而只是返回NAN值。我再次是REGEX的新手。
谢谢!
UPDATE 。我的输入是GRNZ网站上的GRNZ事件报告,这里是一个示例:https://www.grnz.co.nz/catch-the-action/13000/stewards-report.aspx。我正在尝试分析表格并将每个跑步者的姓名与他们的报告相匹配。
例如MISS BUCKET(1)-开始失去地面后收紧接触。首先与运行中的轨道接触,使其失去地面。兽医检查未发现异常。 SPARK'EM UP(2)-起动后接触多个步幅。第一转相撞。 JETSUN BEAR(3)-起步后颠簸,然后移出并保持接触,并保持一定距离。 C'EST L'AMOUR(4)-第一轮相撞。 BIGTIME SASSY(5)-第一次转弯时移开高跟鞋。 BRIGHT CONCEPT(6)-进入最后的直道并再次进入决赛阶段。 JINJA LAD(7)-慢慢走。不方便的背部伸直使接触变得不协调,失去了平衡。检查圆角弯曲,移出脚后跟。 CRAMPTON(8)-进入最后的直道并再次进入决赛阶段。