从python中的多个数据帧创建嵌套字典以类似于json

时间:2019-06-25 00:11:56

标签: python arrays json dataframe dictionary

我有四个由sqlite数据库表制成的数据框。我正在尝试从中创建一个类似于json格式的嵌套字典。该词典中的数据将在以后使用javescript进行可视化。

关于数据帧的一些信息: 它们都以“状态”作为主键。

死亡率表具有列['State'],[cancer1_rate],[cancer1_count],[cancer2_rate],[cancer2_count] ...

发病率表具有列['State'],[cancer1_rate],[cancer1_count],[cancer2_rate],[cancer2_count] ...

人口普查表具有列['State'],[census1],[census2] ...

风险表的列为['State'],[risk1],[risk2] ...

到目前为止,我得到了以下数据帧: 我正在使用“状态”列作为主键。

i_df = {'State': ['AZ', 'CA'], 'a_rate': [0.1, 0.2], 'a_count':[3, 4], 'b_rate': [0.3, 0.4], 'b_count':[5, 6]}
m_df = {'State': ['AZ', 'CA'], 'a_rate': [0.5, 0.6], 'a_count':[7, 8], 'b_rate': [0.7, 0.8], 'b_count':[20, 30],}}
c_df = {'State': ['AZ', 'CA'], 'c1': [9, 10], 'c2':[11, 12]}
r_df = {'State': ['AZ', 'CA'], 'r1': [13, 14], 'r2':[15, 16]}

我要获取的字典应该类似于这样:

{'AZ' : [{'i': [{a: {rate : 0.1, count : 3},
                {b: {rate : 0.3, count : 5} ] }
         {'m': [{a: {rate : 0.5, count : 7},
                {b: {rate : 0.7, count : 20} ] }
         {'c': [{c1 : 9},
                {c2 : 11} ] }
         {'r': [{r1 : 13},
                {r2 : 15} ] } ]
 'CA' : [{'i': [{a: {rate : 0.2, count : 4},
                {b: {rate : 0.4, count : 6} ] }
         {'m': [{a: {rate : 0.6, count : 8},
                {b: {rate : 0.8, count : 30} ] }
         {'c': [{c1 : 10},
                {c2 : 12} ] }
         {'r': [{r1 : 14},
                {r2 : 16} ] } ]
}

或者,我愿意征求建议,以更好地安排数据?

0 个答案:

没有答案