[英]Pandas - Extract string using a specific pattern in column
我的 Dataframe 中有一个列,其中包含以下格式的数据:
id, value
10001, "[{'self': 'https://www.weburl.com', 'value': 'Value 1', 'id': '101'},
{'self': 'https://www.weburl.com', 'value': 'Value 2', 'id': '102'}]"
10002, "[{'self': 'https://www.weburl.com', 'value': 'Value 1', 'id': '101'},
{'self': 'https://www.weburl.com', 'value': 'Value 2', 'id': '102'},
{'self': 'https://www.weburl.com', 'value': 'Value 4', 'id': '104'}]"
我正在尝试提取数据,以便将以下 output (提取与值字段对应的所有值)作为新列:
id, new_value
10001, Value 1, Value 2
10002, Value 1, Value 2, Value 4
如果您的值是有效的json
,您可以将ast.literal_eval
与列表理解一起使用:
df["value"] = df["value"].apply(literal_eval)
df["value"] = [", ".join(k["value"] for k in i) for i in df["value"]]
print (df)
id value
0 10001 Value 1, Value 2
1 10002 Value 1, Value 2, Value 4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.