[英]Making new columns of keys with values stores as a list of values from a list of dicts?
我有一個數據框(1000萬行),如下所示。 為了更好的理解,我已經簡化了它。
user_id event_params
10 [{'key': 'x', 'value': '1'}, {'key': 'y', 'value': '3'}, {'key': 'z', 'value': '4'}]
11 [{'key': 'y', 'value': '5'}, {'key': 'z', 'value': '9'}]
12 [{'key': 'a', 'value': '5'}]
我想創建新列,這些列都是數據框中的唯一鍵,並且值存儲在各個鍵中。 輸出應如下所示:
user_id x y z a
10 1 3 4 NA
11 NA 5 9 NA
12 NA NA NA 5
只需創建新的數據框並通過append函數添加新行即可。 您可以在這里找到更多替代方案。
import pandas as pd
df = pd.DataFrame()
data = [
[12, [{'key': 'x', 'value': '1'}, {'key': 'y', 'value': '3'}, {'key': 'z', 'value': '4'}]],
[13, [{'key': 'a', 'value': '5'}]]
]
for user_id, event_params in data:
record = {e['key']: e['value'] for e in event_params}
record['user_id'] = user_id
df = df.append(record, ignore_index=True)
df
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.