Python 如何返回熊猫系列中字符串的匹配部分?
我有如下代码:Python 如何返回熊猫系列中字符串的匹配部分?,python,regex,pandas,Python,Regex,Pandas,我有如下代码: df[df[“A”].str.contains(“\d+”) 这可以有效地将序列中的所有行与单词match某处匹配。但是,它还匹配(如预期的)样式行: 1,“ab:123” 我希望函数只返回字符串的匹配部分(“123”),而不是整个字符串。这可能吗?例如,使用- df[df["A"].str.contains("\d+")]['A'].str.extract("(\d+)") 示例/演示- In [41]: df = pd.DataFrame([['123'],['ab 12
df[df[“A”].str.contains(“\d+”)
这可以有效地将序列中的所有行与单词match某处匹配。但是,它还匹配(如预期的)样式行:
1,“ab:123”
我希望函数只返回字符串的匹配部分(“123”),而不是整个字符串。这可能吗?例如,使用-
df[df["A"].str.contains("\d+")]['A'].str.extract("(\d+)")
示例/演示-
In [41]: df = pd.DataFrame([['123'],['ab 123'],['xyz']],columns = ['A'])
In [42]: df
Out[42]:
A
0 123
1 ab 123
2 xyz
In [43]: df[df["A"].str.contains("\d+")]
Out[43]:
A
0 123
1 ab 123
In [47]: df[df["A"].str.contains("\d+")]['A'].str.extract("(\d+)")
Out[47]:
0 123
1 123
Name: A, dtype: object
In [48]: df['A'].str.extract("(\d+)")
Out[48]:
0 123
1 123
2 NaN
Name: A, dtype: object