I need help in converting dataframe into dictionary like below where id is the main key and value of the inner dictionary should be greater than 0:
Given dataframe:
id score1 score2 score3 score4 score5
1 0.0000 0.1087 0.0000 0.0786 1
2 0.0532 0.3083 0.2864 0.4464 1
3 0.0000 0.0840 0.8090 0.2331 1
Expected solution:
[1:{'score2': 0.10865899999999999,
'score4': 0.078597,
'score5': 1.0},
2:{'score1': 0.053238000000000001,
'score2': 0.308253,
'score3': 0.28635300000000002,
'score4': 0.44643299999999997,
'score5': 1.0},
3:{'score2': 0.083978999999999998,
'score3': 0.80898300000000001,
'score4': 0.23305200000000001,
'score5': 1.0}]
My solution:
I am using df.to_dict(orient='records')
giving the below solution:
[{'id': 1.0,
'score1': 0.0,
'score2': 0.10865899999999999,
'score3': 0.0,
'score4': 0.078597,
'score5': 1.0},
{'id': 2.0,
'score1': 0.053238000000000001,
'score2': 0.308253,
'score3': 0.28635300000000002,
'score4': 0.44643299999999997,
'score5': 1.0},
{'id': 3.0,
'score1': 0.0,
'score2': 0.083978999999999998,
'score3': 0.80898300000000001,
'score4': 0.23305200000000001,
'score5': 1.0}]