Advertisement
Guest User

Untitled

a guest
Jun 26th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. class MeasureValue(models.Model):
  2. org = models.ForeignKey(Org, null=True, blank=True)
  3. month = models.DateField()
  4. calc_value = models.FloatField(null=True, blank=True)
  5. percentile = models.FloatField(null=True, blank=True)
  6.  
  7. records = MeasureValue.objects.filter(month=month).values()
  8. df = pd.DataFrame.from_records(records)
  9. // use calc_value to set percentile on each row, using scipy's rankdata
  10.  
  11. for i, row in df.iterrows():
  12. mv = MeasureValue.objects.get(org=row.org, month=month)
  13. if (row.percentile is None) or np.isnan(row.percentile):
  14. row.percentile = None
  15. mv.percentile = row.percentile
  16. mv.save()
  17.  
  18. from django.db import transaction
  19.  
  20. with transaction.atomic():
  21. for i, row in df.iterrows():
  22. mv = MeasureValue.objects.get(org=row.org, month=month)
  23.  
  24. if (row.percentile is None) or np.isnan(row.percentile):
  25. # if it's already None, why set it to None?
  26. row.percentile = None
  27.  
  28. mv.percentile = row.percentile
  29. mv.save()
  30.  
  31. >>> objs = [
  32. ... Entry.objects.create(headline='Entry 1'),
  33. ... Entry.objects.create(headline='Entry 2'),
  34. ... ]
  35. >>> objs[0].headline = 'This is entry 1'
  36. >>> objs[1].headline = 'This is entry 2'
  37. >>> Entry.objects.bulk_update(objs, ['headline'])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement