我有一个数据帧,其列包含以下格式的数据:
---
- !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] 的列表。