Guest User

Untitled

a guest
Dec 11th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. import os
  2. import pandas as pd
  3. import numpy as np
  4. import random
  5. import django
  6. from django.utils import timezone
  7. from populate_weather import get_location,get_weather
  8.  
  9. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'categorized_affect_map.settings')
  10. django.setup()
  11.  
  12. from classification.models import Category, Feature
  13. from place.models import Area, Location
  14. from response.models import AffectiveResponse
  15. from forecast.models import Weather
  16. from map.models import Master
  17.  
  18. cat_name_list = ["Social Behavior","Activities","Transportation"]
  19.  
  20. excel_file = 'data/new-lat-And-long.xlsx'
  21. data = pd.read_excel(excel_file)
  22. df_data = pd.DataFrame(data)
  23. df_data['lon'].fillna(90.43, inplace=True)
  24. df_data['lat'].fillna(23.82, inplace=True)
  25. df_data['month'].fillna(12, inplace=True)
  26. df_data['lat'].apply(lambda x:float(x))
  27. df_data['lon'].apply(lambda x:float(x))
  28.  
  29. b_id = 1
  30.  
  31. for cat_name in cat_name_list:
  32. loop = random.randint(110,155)
  33. c = Category.objects.get(name=cat_name)
  34. f = c.feature_set.all() #f[0].id
  35. f_count = c.feature_set.count()
  36. a = Area.objects.get(name="Bashundhara")
  37.  
  38. for index,row in df_data.iterrows():
  39. f_str = ''
  40. f_list = list()
  41. for i in range(5):
  42. rn = random.randint(1,f_count)
  43. if i != 4:
  44. f_str += '{},'.format(str(rn))
  45. else:
  46. f_str += str(rn)
  47. f_list.append(rn)
  48. name_res = get_location(row['lat'],row['lon'])
  49. weather_res = get_weather(row['lat'],row['lon'])
  50. l = a.location_set.create(name=name_res,latitude=row['lat'],longitude=row['lon'],pub_date=timezone.now())
  51. w = l.weather_set.create(main=weather_res['main'],desc=weather_res['desc'],temp=weather_res['temp'],pressure=weather_res['pressure'],humidity=weather_res['humidity'],temp_min=weather_res['temp_min'],temp_max=weather_res['temp_max'],wind_speed=weather_res['wind_speed'],wind_degree=weather_res['wind_degree'],datetime=weather_res['datetime'],clouds_all=weather_res['clouds_all'],sys_sunrise=weather_res['sys_sunrise'],sys_sunset=weather_res['sys_sunset'],pub_date=timezone.now())
  52. ar = l.affectiveresponse_set.create(category=c,familiarity=random.randint(1,2),accompany=random.randint(1,5),feature_set=f_str,comfortability=random.randint(1,7),pub_date=timezone.now())
  53. for f_t in f_list:
  54. n = f_t - 1
  55. temp_f = f[n]
  56. m = l.master_set.create(area=a,category=c,feature=temp_f,weather=w,response=ar,latitude=row['lat'],longitude=row['lon'],batch_id=b_id,pub_date=timezone.now())
  57. b_id +=1
  58. l.save()
  59. if loop and (index+1) == loop:
  60. break
  61. a.save()
Add Comment
Please, Sign In to add comment