簡體   English   中英

數據框到字典列表

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

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