我有一个 DataFrame,其中一列包含我想从中提取一些信息的文本。
我有两个词:“类型”和“容量”,它们之间是一串数字和非数字字符+可能有空格 - 我想将其保存到新列中。
这是我的代码
df['new'] = df['text'].apply(lambda x: re.search(r'Type (\w+) Capacity', x).group(1))
print (df['new'])
它不会给我错误,但打印出以下内容:
Series([], Name: test, dtype: object)
我不明白出了什么问题。感谢您的帮助
最佳答案
你可以使用
df['new'] = df['text'].str.extract(r'Type (\w+) Capacity')
pandas.Series.str.extract
方法只会返回捕获的值(与括号模式部分匹配的值)。
如果您想确保仅返回数据帧(或False
以获取Series/Index/DataFrame),并且如果您在某些行上没有匹配项,.fillna('')
可能有用。
关于python - 匹配 DataFrame 中两个单词之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47266536/