使用 df['var'].str.extract() (Python) 查找多个单词?

Posted

技术标签:

【中文标题】使用 df[\'var\'].str.extract() (Python) 查找多个单词?【英文标题】:Find multiple words using df['var'].str.extract() (Python)?使用 df['var'].str.extract() (Python) 查找多个单词? 【发布时间】:2016-08-05 01:35:54 【问题描述】:

我正在尝试使用 str.extract() 提取数据框中一行中的任何单词,但我最终只得到一个单词。例如在我的数据框的一列中:

var1
THIS IS A STRING

当我使用时:

df['words'] = df['var1'].str.extract('([A-Z]\w0,)')

输出是

var1                words
THIS IS A STRING    THIS

如何提取整个短语“这是一个字符串”?

谢谢!

【问题讨论】:

您的数据框引用了var1,但您的摘录自df['test']。错字? 是的,这是错字。感谢您指出。 【参考方案1】:

IIUC 你可以使用split 任意空格\s+ 然后apply Series

print df
               var1
0  THIS IS A STRING

print df.var1.str.split('\s+').apply(pd.Series)
      0   1  2       3
0  THIS  IS  A  STRING

【讨论】:

以上是关于使用 df['var'].str.extract() (Python) 查找多个单词?的主要内容,如果未能解决你的问题,请参考以下文章

使用 str.extract 时,熊猫不会覆盖列字段

str.extract() 与正则表达式

Pandas str.extract:AttributeError:'str'对象没有属性'str'

如何为 Pandas RE .str.extract() 使用 RE OR Operand

Python pandas str.extract 从多列

str.extract 在 pandas DataFrame 中从后面开始