我是Pandas的新手,将其用于类,而且我一生无法找到一种资源,该资源可显示在extract函数中表示文本时在Pandas中使用的符号。例如:
movies['year'] = movies['title'].str.extract('.*\((.*)\).*', expand=True)
我知道这是在告诉提取函数从类中完成的示例中提取括号内的所有内容,但是我不明白哪个符号表示提取函数内的含义。是否有资源可以解释这些符号的含义?谢谢。
答案 0 :(得分:0)
常规
.str.extract
的字符串参数是Regular Expression(正则表达式),这是一种用于字符串中的模式匹配和特征提取的语言。如果您转到上一个链接中的“正则表达式模式”部分,则可以找到特殊控制字符的含义。
此示例
该正则表达式字符串的具体含义是:
匹配任何字符.
,零次或多次*
,直到括号\(
,然后提取括号(.*)
中的所有内容,然后关闭括号, \)
,然后是任意字符零次或多次,.*
,再次。
基本上,这将匹配任何字符串,例如:'xxx(message)xxxx'
或'(message)'
或'xx(message)'
或'(message)x'
并提取'message'
。
有关熊猫和正则表达式的说明
正则表达式的一个重要部分(通常,但特别是用于带有.str.extract
的熊猫)是捕获组。您可以通过在括号内包含该部分的模式来“捕获”或获取字符串的一部分。请注意,这些是正则表达式中的未转义(没有前斜线-内部集合)括号,而不是字符串本身中出现的实际括号,例如在'xxx(message)xxx'
中。
请查看.str.extract
上的文档,以获取有关使用正则表达式捕获熊猫中的组的一些示例:
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.str.extract.html