【问题标题】:Pandas Series: Extract text between parenthesis including them熊猫系列:提取括号之间的文本,包括它们
【发布时间】:2020-12-18 15:50:30
【问题描述】:

从熊猫系列中提取文本时如何包含括号?

my_series.str.extract('\((.*)\)')

【问题讨论】:

  • 你试过什么?什么不起作用?您的数据是什么样的?

标签: python series text-extraction


【解决方案1】:

如果要在捕获组中捕获括号,则需要将转义的括号放入组中,如下所示:

my_series.str.extract('(\(.*\))')

【讨论】:

    【解决方案2】:

    my_series.str.extract('((.*))') - 删除转义字符 / 检索所有内容(如果需要,则不是部分匹配)。 my_series.str.extract('((\)))') - 仅检索 )

    【讨论】:

    • 嗨 Geetha,欢迎来到 Stack Overflow!考虑通过在代码文本的任一侧使用 ` 将代码格式化为代码来改进您的答案。还可以考虑展示一个示例,说明两次提取之间的输出差异。
    • 你能不能尝试一个不同的函数,即 findall my_series = pd.Series(['(Text12num$bers)', 'Jus(t)Text']) new_series = my_series.str.findall(r'[a-zA-Z\(\)]+') Result 0 [(Text, num, bers)] 1 [Jus(t)Text] 如果有字符被移除时,返回元素是一个包含多个元素的数组。您可以使用join函数将它们加入my_series.str.findall(r'[a-zA-Z\(\)]+').str.join("") Result 0 (Textnumbers) 1 Jus(t)Text
    猜你喜欢
    • 2010-09-27
    • 2014-08-07
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    相关资源
    最近更新 更多