提取一位和两位数小时时间 pandas
extract one and two digit hour time pandas
我想从我的 raceresult2014 数据帧中提取格式为 hh:mm 和 h:mm 的时间我从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('(\d\d:\d\d)',expand=True)
但它只能提取 hh:mm 格式并且 h:mm 未提取。
我尝试附加另一行
onedigit=raceresult2014['Time']=raceresult2014['Team'].str.extract('(\d:\d\d)',expand=True)
raceresult2014['Time'].append(onedigit)
但现在它又回到仅提取 h:mm 格式并留下 hh:mm 。
我知道出了点问题(也许是关于复制 raceresult2014['Time'] 系列?)但不知道是什么。真的很感激一些帮助。谢谢!
我到处都看了。也许是 mask for one digit and two digit for python?
快速修复:您可以尝试将 '\d{1,2}:\d{2}'
作为您的正则表达式吗?
{n,m} 是一个量词,它指定某些字符存在的下限和上限。第一个 \d{1,2}
指定一个或两个数字,然后第二个 \d{2}
指定两个数字。
我个人强烈推荐使用 https://regexr.com/ 来测试正则表达式。左边的参考资料也非常有帮助。您可以通过按左侧菜单栏上的 "Quantifiers & Alternation" 获得有关量词的更多信息。
如果有任何不清楚的地方,请告诉我。
我想从我的 raceresult2014 数据帧中提取格式为 hh:mm 和 h:mm 的时间我从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('(\d\d:\d\d)',expand=True)
但它只能提取 hh:mm 格式并且 h:mm 未提取。 我尝试附加另一行
onedigit=raceresult2014['Time']=raceresult2014['Team'].str.extract('(\d:\d\d)',expand=True)
raceresult2014['Time'].append(onedigit)
但现在它又回到仅提取 h:mm 格式并留下 hh:mm 。 我知道出了点问题(也许是关于复制 raceresult2014['Time'] 系列?)但不知道是什么。真的很感激一些帮助。谢谢!
我到处都看了。也许是 mask for one digit and two digit for python?
快速修复:您可以尝试将 '\d{1,2}:\d{2}'
作为您的正则表达式吗?
{n,m} 是一个量词,它指定某些字符存在的下限和上限。第一个 \d{1,2}
指定一个或两个数字,然后第二个 \d{2}
指定两个数字。
我个人强烈推荐使用 https://regexr.com/ 来测试正则表达式。左边的参考资料也非常有帮助。您可以通过按左侧菜单栏上的 "Quantifiers & Alternation" 获得有关量词的更多信息。
如果有任何不清楚的地方,请告诉我。