Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
4 views
in Data Science by (18.4k points)

I have the Pandas Dataframe:

     nodes        x      y        z

0        1   0.0000  0.000   0.0000

1        2   0.0000  9.144   0.0000

2        3  19.5072  0.000   0.0000

3        4  19.5072  9.144   0.0000

4        5   9.7536  0.000   0.0000

..     ...      ...    ...      ...

175    176  19.5072  9.144  27.7368

176    177  19.5072  9.144  25.7556

177    178  19.5072  9.144  21.7932

178    179  19.5072  9.144  19.8120

179    180  19.5072  9.144  17.8308

Converting to JSON:

{

    "nodes": {

        "1": {

            "x": 0,

            "y": 0,

            "z": 0

        },

        "2": {

            "x": 0,

            "y": 9.144,

            "z": 0

        },

        "3": {

            "x": 19.5072,

            "y": 0,

            "z": 0

        },

        "4": {

            "x": 19.5072,

            "y": 9.144,

            "z": 0

        },

        "5": {

            "x": 9.7536,

            "y": 0,

            "z": 0

        },

    },

}

I just started to use the python. After Google, I tried:

out = df.to_json(orient = 'records')

print(json.dumps(json.loads(out), indent=4))

The output is:

{

    "nodes": 1,

    "x": 0.0,

    "y": 0.0,

    "z": 0.0

},

{

    "nodes": 2,

    "x": 0.0,

    "y": 9.144,

    "z": 0.0

},

{

    "nodes": 3,

    "x": 19.5072,

    "y": 0.0,

    "z": 0.0

},

1 Answer

0 votes
by (36.8k points)

You can take the advantage of your groupby function to achieve the desired output:

out = {'nodes': df.groupby('nodes')['x', 'y', 'z'].last().to_dict(orient='index')}

print(json.dumps(out, indent=4))

Results in:

{

    "nodes": {

        "1": {

            "x": 0.0,

            "y": 0.0,

            "z": 0.0

        },

        "2": {

            "x": 0.0,

            "y": 9.144,

            "z": 0.0

        },

        "3": {

            "x": 19.5072,

            "y": 0.0,

            "z": 0.0

        },

        "4": {

            "x": 19.5072,

            "y": 9.144,

            "z": 0.0

        },

        "5": {

            "x": 9.7536,

            "y": 0.0,

            "z": 0.0

        }

    }

}

Want to be a Data Science expert? Come and join this Data Science Courses 

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...