簡體   English   中英

用值制作鍵的新列存儲為字典列表中的值列表嗎?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM