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}]
 
    