提问者:小点点

在熊猫系列中选择字符串的一部分


我有一个字符串如下:2020-01-01T16:30.00-1.00。我希望选择介于T-之间的字符串,即,我希望能够从整个字符串中选择16:30.00,并将其转换为浮点。感谢您的帮助。


共1个答案

匿名用户

如果您有这样的熊猫系列s

import pandas as pd
s = pd.Series(["2020-01-01T16:30.00 - 1.00", "2020-12-04T00:25.00 - 14.00"])

你可以用

s.str.replace(".+T", "").str.replace(" -.+", "")
# 0    16:30.00
# 1    00:25.00
# dtype: object

基本上,首先用空字符串替换TT之前的所有内容。然后,用空字符串替换以-开头的部分(小破折号前有一个空格)。

另一个选项是使用正则表达式组匹配特定模式,并仅选择其中一个组(在本例中为第二个组,

import re
s.apply(lambda x: re.match("(.+T)(.+)( -.+)", x).group(2))
# 0    16:30.00
# 1    00:25.00
# dtype: object