analyse_insyrance.py 797 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # coding=utf-8
  2. import pandas
  3. from base import init_env
  4. init_env(True)
  5. from apps.web.user.models import InsuranceOrder
  6. def get_data():
  7. dataList = list()
  8. for _order in InsuranceOrder.objects.all():
  9. _data = _order.to_dict()
  10. _data["date"] = _data["dateTimeAdded"][:10]
  11. dataList.append(_data)
  12. return dataList
  13. def parse(dataList):
  14. dataF = pandas.DataFrame(dataList)
  15. print "每天的人数----------------\n", dataF.groupby("date")["openId"].count()[:100]
  16. print "单人次购买平均数: ", dataF.groupby("openId")["date"].count()
  17. print "购买次数大于2的人数: ", len(dataF.groupby("openId").filter(lambda x: len(x) >= 3))
  18. def main():
  19. dataList = get_data()
  20. parse(dataList)
  21. if __name__ == '__main__':
  22. main()