提取一个和两个数小时的小时熊猫



我想用格式 hh:mm h:mm 从我的raceresult2014 dataframe中读取,我从pdf文件中读取了时间。

Team
1   Zeit/temps
2   1. Perraudin Sports II
3   8:18.21
4   Z1-S1
5   1.
6   (505)
7   2. GebSpez Abt 1 Det 1/7
8   8:34.22
9   Z1-MH1
10  1.
11  (513)
12  1.Les filles de Zinal
13  18:21.14
14  Z1-F
15  1. Courvoisier Nathalie
16  18:08.38
17  Z1-S2

预期输出

Team                                Time
1   Zeit/temps
2   1. Perraudin Sports II          8:18
3   8:18.21
4   Z1-S1
5   1.
6   (505)
7   2. GebSpez Abt 1 Det 1/7        8:34    
8   8:34.22
9   Z1-MH1
10  1.
11  (513)
12  1.Les filles de Zinal           18:21
13  18:21.14
14  Z1-F
15  1. Courvoisier Nathalie         18:08
16  18:08.38
17  Z1-S2

到目前为止,此代码有效:

raceresult2014['Time']=raceresult2014['Team'].str.extract('(dd:dd)',expand=True)

,但它只能提取 hh:mm 格式和左 h:mm 未提取。我尝试加入另一行

onedigit=raceresult2014['Time']=raceresult2014['Team'].str.extract('(d:dd)',expand=True)
raceresult2014['Time'].append(onedigit)

,但现在又回到仅提取H:MM格式,然后左HH:MM落后。我知道有什么问题(也许是关于复制RacereSult2014 ['Time']的系列?(,但是不知道什么。真的很感谢您的帮助。谢谢!

我到处看。也许是一个数字的蒙版和python的两个数字?

快速修复:您可以尝试'd{1,2}:d{2}'作为正则表达式吗?

{n,m}是一个量词,指定某些字符存在的下限和上限。第一个d{1,2}指定一个或两个数字,然后第二个数字d{2}指定两个数字。

我个人强烈建议使用https://regexr.com/测试正则表达式。左侧的参考文献也非常有帮助。您可以通过按左菜单栏上的"量词"one_answers"交替"来获取有关量词的更多信息。

让我知道是否没有清楚。

最新更新