Advertisement
rama_astadipati

join df

Mar 15th, 2023
18
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. device = terminal.upper()
  2. try:
  3. st = datetime.now().replace(hour=0, minute=0,second=0, microsecond=0)
  4. print(st)
  5. # exit()
  6.  
  7. conn = self.cfx.connectMongo()
  8. db = conn.nms_n5
  9.  
  10. col_do = db.data_sdr_module.find(
  11. {"download": {"$exists": "true"}, "deviceID": device, "date_created": {"$gte": st}}).sort("_id", -1)
  12. col_up = db.data_sdr_module.find(
  13. {"upload": {"$exists": "true"}, "deviceID": device, "date_created": {"$gte": st}}).sort("_id", -1)
  14. # data_dict = []
  15. data_dict_do = []
  16. for i in col_do:
  17. del i["_id"]
  18. data_dict_do.append(i)
  19. df_do = pd.DataFrame(data_dict_do)
  20. # print("Do",len(df_do))
  21.  
  22. data_dict_up = []
  23. for j in col_up:
  24. del j["_id"]
  25. data_dict_up.append(j)
  26. df_up = pd.DataFrame(data_dict_up)
  27. # print("Up",len(df_up))
  28.  
  29. limit = int(len(df_do))-1
  30.  
  31. val_delta_do = []
  32. for k in range(limit):
  33. val = round((((df_do["download"][k]-df_do["download"][k+1])*8)/314572800), 4)
  34. val_delta_do.append(val)
  35.  
  36. val_delta_up = []
  37. for l in range(limit):
  38. val = round((((df_up["upload"][l]-df_up["upload"][l+1])*8)/314572800), 4)
  39. val_delta_up.append(val)
  40. # df = pd.DataFrame(val_delta_do)
  41. # print(df)
  42. # add new value
  43. df_do['value_download'] = pd.DataFrame(val_delta_do)
  44. # print(df_do.count())
  45. df_up['value_upload'] = pd.DataFrame(val_delta_do)
  46. # print(df_up.count())
  47. df_inner = pd.merge(df_do, df_up, how="inner", on="ip_address",indicator=True).fillna(0)
  48. # print(df_inner)
  49. df_loc = df_inner.loc[:,('ip_address','value_download','value_upload','date_created_y')]
  50. # print(df_loc)
  51. data = df_loc.to_dict('records')
  52. return data
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement