Py学习  »  Python

在Python中将数据帧转换为嵌套字典

Ali • 2 年前 • 401 次点击  

我需要一点帮助。我想把数据帧转换成嵌套字典。

    A   B    C
0   1   0    1.5
1   1   3,2  6.09
2   1   4    7.9
3   2   5    9.5
4   2   0    1.2
5   3   3    2.4

我想转换成这种格式:

dict={1:[{'0':1.5},{'3,2':6.09},{'4':7.9}],2:[{'5':9.5},{'0':1.2}],3:[{'3',2.4}]}
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/128206
 
401 次点击  
文章 [ 2 ]  |  最新文章 2 年前
PullarwarOm
Reply   •   1 楼
PullarwarOm    2 年前

这将给你一个字典,记住dict是python中的一个关键工作,所以你必须使用其他变量名来代替dict。

dict1 = {1:[{'0':1.5, '3,2':6.09,'4':7.9}],2:[{'5':9.5,'0':1.2}],3:[{'3',2.4}]}
BENY
Reply   •   2 楼
BENY    2 年前

我们能行 groupby 具有 agg dict items

d = df.set_index('B').groupby('A').agg(lambda x : [{k:v} for k, v in dict(x).items()])['C'].to_dict()
Out[574]: 
{1: [{'0': 1.5}, {'3,2': 6.09}, {'4': 7.9}],
 2: [{'5': 9.5}, {'0': 1.2}],
 3: [{'3': 2.4}]}