【发布时间】:2020-03-01 19:53:15
【问题描述】:
我在 Pandas 数据框中拥有所有英语维基百科文章的第一行,我想将括号中提到的语言提取到一个不同的列表中。
例如:
text
A cat (Afrikaans: kat, German: katze) is an animal.
This line does not contain anything.
A dog (Afrikaans: hond, German: hund, Some language: dog) is an animal.
我想要一份带有['Afrikaans', 'German', 'Some language'] 的列表。
也不确定如何为 df.text.str.extract(r'(\w+):') 之类的东西指定支持正则表达式的 unicode
有人对如何做到这一点有任何想法吗?
【问题讨论】:
-
您需要支持 unicode 还是只需要输入中列出的输出?你的例子没有说清楚。
-
我假设很多语言名称中都会包含有趣的字符,所以基本上抓住
:之前的任何内容,包括 unicode 字符和空格。 -
Python3 支持 unicode,因此您可以明确列举各种可能性。或者,您可以实现“在冒号之前、逗号之后和括号之间获取任何内容”的逻辑
-
使用正则表达式你通常必须说
re.UNICODE之类的东西,我是说我不知道如何用 Pandas 做到这一点 -
Series.str.extract中的flags参数不起作用吗? pandas.pydata.org/pandas-docs/stable/reference/api/…
标签: regex python-3.x pandas