繁体   English   中英

Pandas - 使用列中的特定模式提取字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM