我有一个数据框,其列包含以下格式的数据:
---
- !ruby/hash:Control::Keys
name: sample1
value: 101
我试图仅提取名称和值并将其存储为新列。我尝试过
df['col'].str.extract(r'name:(\w+)value')
但它返回了NAN
期望值:
name,value
sample1,101
答案 0 :(得分:1)
您可以尝试
>>> 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::Keys\n name: sampl... sample1 101
答案 1 :(得分:0)
尝试使用此正则表达式模式:
r'(name: (\w+))|(value: (\w+))
请牢记空格。
您将获得一个包含['sample1',101]的列表。