簡體   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