Advertisement
Guest User

Untitled

a guest
Feb 17th, 2020
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.70 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 ("-sdt", "--start_dt"):
  32.             start_dt = datetime.strptime(currentValue, '%Y-%m-%d %H-%M-%S')
  33.         elif currentArgument in ("-edt", "--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