熊猫 - 提取两个字符串之间的文本



我有一个数据帧,其列包含以下格式的数据:

---
- !ruby/hash:Control::Keys
name: sample1
value: 101

我正在尝试仅提取名称和值并将它们存储为新列。我试过了

df['col'].str.extract(r'name:(w+)value')

但它返回NAN

期望值:

name,value
sample1,101

你可以试试

>>> df['names'] = df.col.str.extract(r'(?<=name:)s+(w+)')
>>> df['values'] = df.col.str.extract(r'(?<=value:)s+(w+)')
>>> df
col    names values
0  ---n- !ruby/hash:Control::Keysn  name: sampl...  sample1    101

尝试使用此正则表达式模式:

r'(name: (w+))|(value: (w+))

请记住空格。

您将获得一个包含 ['sample1',101] 的列表。

最新更新