多索引熊猫数据帧到字典/ JSON

时间:2020-04-24 09:34:56

标签: python json pandas csv pandas-groupby

我们有一个csv,其中有几列我们要转换成字典,最终要转换成JSON对象。我们要嵌套其中两个列。因此,给出以下数据框:

    Orig  Dest  B   C
0   1     3     3   2
1   1     2     3   2
2   1     1     0   9 
0   2     3     3   2
1   2     2     3   2
2   2     1     0   9 

我们希望这个结果如下:

Orig: 1 {
         Dest:3 {
                 B: 3, C:2}
         Dest:2 {
                 B: 3, C: 2}
...
Orig: 2 {
         Dest:3 {
                 B: 3, C:2}
         Dest:2 {
                 B: 3, C: 2}
....

这是到目前为止我们尝试过的:


MSOAs = csvfile.residence.unique()

MSOAdict2 = dict()

MSOAdicts = []

csvfile.reset_index(drop=True, inplace=True)

for x in MSOAs:
    MSOAorigin = csvfile.loc[csvfile["residence"] == x]
    MSOAorigin.drop(["residence"], axis =1, inplace = True)
    MSOAdests = MSOAorigin.workplace.unique()
    for y in MSOAdests: 
        MSOAdest = MSOAorigin.loc[MSOAorigin["workplace"] == y]
        MSOAdest.drop(["workplace"], axis =1, inplace = True)
        destlistvalues = []
        #print(MSOAdest.to_dict('r'))
        destlistvalues.append(MSOAdest.to_dict('r'))
    destDict = dict(zip(MSOAdests, destlistvalues))
    print(destDict)
    MSOAdicts.append(destDict)

finaldict = dict(zip(MSOAs, MSOAdicts))


这为我们提供了一些方法,例如,我们获得了列表的字典,但无法将其合并回原点的第一个巢穴。

0 个答案:

没有答案