[英]Dataframe to list of dicts
我有以下數據框:
key category amount
2019-01 abc 123
2019-01 xyz 111
2019-02 abc 87
2019-02 xyz 34
2019-03 abc 15
2019-04 def 64
我將如何將這些數據轉換為下面的字典列表。 本質上,每個 dict 代表一個類別以及該類別的所有日期和相應數量:
[
{
"category": "abc",
"2019-01": 123,
"2019-02": 87,
"2019-03": 15
},
{
"category": "xyz",
"2019-01": 111,
"2019-02": 34
},
{
"category": "def,
"2019-04": 64
}
]
在GroupBy.apply
使用 lambda 函數並合並 2 個字典:
f = lambda x: {**{'category': x.name}, **dict(zip(x['key'], x['amount']))}
L = df.groupby('category', sort=False).apply(f).tolist()
print (L)
[{'category': 'abc', '2019-01': 123, '2019-02': 87, '2019-03': 15},
{'category': 'xyz', '2019-01': 111, '2019-02': 34},
{'category': 'def', '2019-04': 64}]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.