要提取3个连续的数字,我尝试:
df['col'].str.findall(r"ddd").str[0]
和
df['col'].str.findall(r"[0-9]{3}").str[0]
,但都返回的结果实际上不是连续的,而是中间有其他字符。例如,对于GF-01-1 G.888 SSRS
,我想提取888
,但在上述方法中都返回01-1
。
在MMS1-CG343 SSRS
的另一个例子中,我想提取343
,而不是返回NaN
。
我无法重现您的问题:
In [2]: df
Out[2]:
A
0 GF-01-1 G.888 SSRS
1 MMS1-CG343 SSRS
In [3]: df.A.str.findall(r"ddd")
Out[3]:
0 [888]
1 [343]
Name: A, dtype: object
In [4]: df.A.str.findall(r"ddd").str[0]
Out[4]:
0 888
1 343
Name: A, dtype: object