数据框到字典列表

Posted

技术标签:

【中文标题】数据框到字典列表【英文标题】:Dataframe to list of dicts 【发布时间】:2020-05-15 20:44:29 【问题描述】:

我有以下数据框:

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
  
]

【问题讨论】:

这能回答你的问题吗? Pandas DataFrame to List of Dictionaries 【参考方案1】:

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]

【讨论】:

甜蜜!这是一个艰难的

以上是关于数据框到字典列表的主要内容,如果未能解决你的问题,请参考以下文章

多索引熊猫数据框到字典

python pandas数据框到字典

Pandas 数据框到嵌套字典,名称空间为 None

Pandas 数据框到 dict 的 dict

python 字典列表/列表套字典 去重重复的字典数据

熊猫数据框到 json 列表格式