Advertisement
Guest User

Untitled

a guest
Jan 24th, 2020
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import sys
  5. import getopt
  6. from datetime import datetime
  7.  
  8. import pandas as pd
  9.  
  10. if __name__ == "__main__":
  11.  
  12. # Задаём определения входных параметров
  13. unixOptions = "r:sdt:edt:"
  14. gnuOptions = ["regions=", "start_dt=", "end_dt="]
  15.  
  16. fullCmdArguments = sys.argv
  17. argumentList = fullCmdArguments[1:]
  18. try:
  19. arguments, values = getopt.getopt(argumentList, unixOptions, gnuOptions)
  20. except getopt.error as err:
  21. print (str(err))
  22. sys.exit(2)
  23.  
  24. # Обрабатываем входные параметры
  25. regions = 'Germany,France,Russia'.split(',')
  26. start_dt = '1998-01-01 00:00:00'
  27. end_dt = '1999-12-31 23:59:59'
  28. for currentArgument, currentValue in arguments:
  29. if currentArgument in ("-r", "--regions"):
  30. regions = currentValue.split(',')
  31. elif currentArgument in ("-s", "--start_dt"):
  32. start_dt = datetime.strptime(currentValue, '%Y-%m-%d %H:%M:%S')
  33. elif currentArgument in ("-e", "--end_dt"):
  34. end_dt = datetime.strptime(currentValue, '%Y-%m-%d %H:%M:%S')
  35.  
  36. urbanization = pd.read_csv('/datasets/urbanization.csv')[['Entity', 'Year', 'Urban']]
  37.  
  38. # Приводим колонки urbanization к нужным типам
  39. urbanization['Year'] = pd.to_datetime(urbanization['Year'], format = '%Y-%m-%d')
  40.  
  41. # Фильтруем и определяем максимальный уровень урбанизации
  42. urbanization = urbanization.query('Entity.isin(@regions) and Year >= @start_dt and Year <= @end_dt')
  43.  
  44. print(urbanization.sort_values(by = ['Entity', 'Year']))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement