Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pandas.str.findall()返回具有相同值但包含reduce字符的多个实例_Python_Regex_Pandas - Fatal编程技术网

Python pandas.str.findall()返回具有相同值但包含reduce字符的多个实例

Python pandas.str.findall()返回具有相同值但包含reduce字符的多个实例,python,regex,pandas,Python,Regex,Pandas,所以我在findall()系列节目中遇到了熊猫的麻烦。目前,我正试图查看一份报告并检索所有电气部件。目前,报告要么是一行,要么是一段,并以标准化的方式提及组件。我正在使用这个代码 failedCoFromReason =rlist['report'].str.findall(r'([CULJRQF]([\dV]{2,4}))',flags=re.IGNORECASE) 它返回组件,但也返回数字的重复值,如[('r919','919'),('r920','920')] 我希望它只是返回[('r9

所以我在findall()系列节目中遇到了熊猫的麻烦。目前,我正试图查看一份报告并检索所有电气部件。目前,报告要么是一行,要么是一段,并以标准化的方式提及组件。我正在使用这个代码

failedCoFromReason =rlist['report'].str.findall(r'([CULJRQF]([\dV]{2,4}))',flags=re.IGNORECASE)
它返回组件,但也返回数字的重复值,如[('r919','919'),('r920','920')]

我希望它只是返回[('r919'),('r920')],但我正在努力让它工作。对于熊猫和正则表达式来说,这是一个非常新的概念,并且对如何搜索感到困惑。我尝试过贪婪搜索和非贪婪搜索,但没有成功。

请参阅参考资料:

相当于应用于系列/索引中的所有元素

引用中说,“如果模式中存在一个或多个组,则返回一个组列表;如果模式中有多个组,则返回一个元组列表。”

因此,在本例中,您需要做的就是删除所有捕获括号,因为您只需要获得整个匹配:

rlist['report'].str.findall(r'[CULJRQF][\dV]{2,4},flags=re.I)
在其他情况下,当您需要保留组(以对其进行量化或使用替代方案)时,您需要将捕获组更改为:

rlist['report'].str.findall(r'(?:[CULJRQF](?:[\dV]{2,4})),flags=re.I)
不过,在这种情况下,它是相当多余的