我有类似下面的代码:
df[df["A"].str.contains("\d+")]
这有效地将系列中的所有行与单词match匹配。但是,它也匹配(如预期的那样)样式的行:
1,“ab:123”
我希望函数返回仅字符串的匹配部分(“123”),而不是整个字符串。这可能吗?
答案 0 :(得分:2)
如何使用Series.str.extract
,示例 -
from aenum import IntEnum # or from enum import IntEnum
class Operation(IntEnum):
START = 0
STOP = 1
>>> Operation.START
<Operation.START: 0>
>>> Operation['START']
<Operation.START: 0>
>>> Operation(0)
<Operation.START: 0>
>>> Operation.STOP is Operation.STOP
True
>>> list(Operation)
[<Operation.START: 0>, <Operation.STOP: 1>]
>>> Operation.STOP.name
'STOP'
>>> Operation.STOP.value
1
示例/演示 -
df[df["A"].str.contains("\d+")]['A'].str.extract("(\d+)")