コード例 #1
0
def MstFreqDateAndMstFreqStateInRgDates(dateOmap, date1, date2):
    """
    Para un rango de fechas retorna la fecha con mas accidentes y el
    estado con mas accidentes
    Args:
        dateOmap: Order map organizado por fechas
        date1:  datetime de la fecha de la primera fecha
        date2:  datetime de la fecha de la segunda fecha
    Returns:
        dobleentry con un entry con la fecha el numero de accidentes en esa fecha
        y un entry con el estado el numero de accidentes en ese estado
    """
    frequency_fun = Aux.FrequencyInMapAndFrequentKeyForOmp('StateIndex')
    freqAndFrequencyForm = {
        'KeyFrequent': MakeMaxFormat(False),
        'map': MakeMapFormat(40)
    }
    stateFrequencyAndMfDate = Op.operationRangeOmp(dateOmap, date1, date2,
                                                   frequency_fun,
                                                   freqAndFrequencyForm)
    mostFrequentState = Op.operationSetMap(stateFrequencyAndMfDate['map'],
                                           Aux.FrequentMp,
                                           MakeMaxFormat(False))
    mostFreqDateAndMostFreqState = {
        'mstDate': stateFrequencyAndMfDate['KeyFrequent'],
        'mstState': mostFrequentState
    }
    return mostFreqDateAndMostFreqState
コード例 #2
0
def weekdayFrequencyListInArea(zoneOmap, cPoint, dist):
    """
    Para un area definida por una latitud una longitud y una distancia devuelve una
    lista de la cantidad de accidentes por severidad y el total de accidentes
    Args:
    Returns:
        Entry con la lista y el total
    """
    cir_fun = Aux.frequencyInMapForOmpInCircle(cPoint, dist, 'weekdayIndex')
    point1, point2 = (cPoint[0] - dist, cPoint[1]), (cPoint[0] + dist,
                                                     cPoint[1])
    weekdayFrequency = Op.operationRangeOmp(zoneOmap, point1, point2, cir_fun,
                                            MakeMapFormat(3, ints=True))
    weekdayListAndTotal = Op.operationSetMap(weekdayFrequency,
                                             Aux.makeListAndTotalMp,
                                             MakeListFormat())
    weekdayFromIntToStr(weekdayListAndTotal['list'])
    return weekdayListAndTotal
コード例 #3
0
def severityFrequencyListInRgHours(timeOmap, time1, time2):
    """
    Para un rango de horas devuelve una lista de la cantidad de
    accidentes por severidad y el total de accidentes
    Args:
        timeOmap: Order map organizado por horas
        time1: time de la hora 1
        time2: time de la hora 2
    Returns:
        Entry con la lista y el total
    """
    frequency_fun = Aux.frequencyInMapForOmp('SeverityIndex')
    severityFrequency = Op.operationRangeOmp(timeOmap, time1, time2,
                                             frequency_fun,
                                             MakeMapFormat(2, ints=True))
    severityListAndTotal = Op.operationSetMap(severityFrequency,
                                              Aux.makeListAndTotalMp,
                                              MakeListFormat())
    AddPercents(severityListAndTotal)
    return severityListAndTotal
コード例 #4
0
def mstFreqSeverityInRgDates(dateOmap, date1, date2):
    """
    Para un rango de fechas calcula la severidad mas frecuente y el
    total de accidentes
    Args:
        dateOmap: Order map organizado por fechas
        date1:  datetime de la fecha de la primera fecha
        date2:  datetime de la fecha de la segunda fecha
    Returns:
        entry con la fecha el numero de accidentes en esa fecha, y total


    """
    frequency_fun = Aux.frequencyInMapForOmp('SeverityIndex')
    severityFrequency = Op.operationRangeOmp(dateOmap, date1, date2,
                                             frequency_fun,
                                             MakeMapFormat(2, ints=True))
    mstFreqSeverity = Op.operationSetMap(severityFrequency,
                                         Aux.TotalAndFrequentMp,
                                         MakeMaxFormat(True))
    return mstFreqSeverity
コード例 #5
0
def mstFreqDateBfADate(dateOmap, before_date):
    """
    Para una serie de fechas antes de la fecha indicada, se calcula la
    que tiene mayor cantidad de accidentes y el total de accidentes en la
    serie de fechas
    Args:
        dateOmap: Order map organizado por fechas
        before_date: datetime de la fecha
    Returns:
        entry con la fecha el numero de accidentes en esa fecha, y total
    """
    mstFreqDate = Op.operationBeforeOmp(dateOmap, before_date,
                                        Aux.TotalAndFrequentOmp,
                                        MakeMaxFormat(True))
    return mstFreqDate
コード例 #6
0
def getDateInfo(dateOmap, date):
    """
    Para una fecha devuelve una lista de la cantidad de
    accidentes por severidad y el total de accidentes
    Args:
        dateOmap: Order map organizado por fechas
        date: datetime de la fecha

    Returns:
        Entry con la lista y el total
    """
    dateRoot = om.get(dateOmap, date)
    if dateRoot is None:
        return None
    dateEntry = dateRoot['value']
    severityList = Op.operationSetMap(dateEntry['SeverityIndex'],
                                      Aux.makeListMp, newList('ARRAY_LIST'))
    severityListAndTotal = {
        'list': severityList,
        'total': dateEntry['numAccidents']
    }
    return severityListAndTotal
コード例 #7
0
ファイル: index.py プロジェクト: ChrisMuga/oo-python
from dotenv import load_dotenv
import os
from App import Operations
from App.Operations.User import User

load_dotenv()
app_name = os.getenv("APP_NAME")
Operations.info(name="Tom Mboya")

user = User(name="Chris Muga", age=25)
users = user.fetch()
user.print_names(users)