In [ ]:
"""
For every day in a pgtable, count the number of rows by periods of X minutes for each interest entity.
At the end, calculate the mean between every day for each period.
"""
In [ ]:
from senpy.pgsql.q.mean import meanday_of_periods_by_entity
In [ ]:
# Input parameters
conParam = {
'HOST' : 'localhost', 'USER' : 'postgres', 'PASSWORD' : 'admin',
'PORT' : '5432', 'DATABASE' : 'valcarris_v2'
}
pgtable = 'id_pares_od'
DAY_FIELD = 'dia'
HOUR_FIELD = 'hora'
MINUTES_FIELD = 'minuto'
SECONDS_FIELD = "segundo"
ENTITY_FIELD = 'paragem'
# Dias uteis
EXCLUDE_DAYS = [
'2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04', '2018-01-05', '2018-01-06', '2018-01-07',
'2018-01-08', '2018-01-09', '2018-01-10', '2018-01-11', '2018-01-12',
'2018-01-13', '2018-01-14', '2018-01-20', '2018-01-21',
'2018-01-22', '2018-01-23', '2018-01-24', '2018-01-25', '2018-01-26',
'2018-01-27', '2018-01-28', '2018-01-29', '2018-01-30', '2018-01-31', '2018-02-01'
]
# Sabados
"""EXCLUDE_DAYS = [
'2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04', '2018-01-05', '2018-01-06', '2018-01-07',
'2018-01-08', '2018-01-09', '2018-01-10', '2018-01-11', '2018-01-12',
'2018-01-14', '2018-01-15', '2018-01-16', '2018-01-17', '2018-01-18', '2018-01-19',
'2018-01-21', '2018-01-22', '2018-01-23', '2018-01-24', '2018-01-25', '2018-01-26',
'2018-01-28', '2018-01-29', '2018-01-30', '2018-01-31',
'2018-02-01'
]"""
# Domingos
"""EXCLUDE_DAYS = [
'2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04', '2018-01-05', '2018-01-06', '2018-01-07',
'2018-01-08', '2018-01-09', '2018-01-10', '2018-01-11', '2018-01-12',
'2018-01-13', '2018-01-15', '2018-01-16', '2018-01-17', '2018-01-18', '2018-01-19',
'2018-01-20', '2018-01-22', '2018-01-23', '2018-01-24', '2018-01-25', '2018-01-26',
'2018-01-27', '2018-01-29', '2018-01-30', '2018-01-31',
'2018-02-01'
]"""
PERIOD_INTERVAL = None
#PERIODS = None
#PERIODS = [((7,30), (9,30)), ((10,0), (15,0)), ((16,30), (18,30)), ((20,0), (24,0))]
#PERIODS = [((9, 0), (13, 0))]
PERIODS = [((7, 30), (9, 30)), ((10, 0), (12, 0))]
OUTPUT_FILE = r'D:\TRENMO_JASP\CARRIS\validacoes\carreira\v26b7h30_9h30_15a19jan.xlsx'
In [ ]:
meanday_of_periods_by_entity(
conParam, "valida_26b", DAY_FIELD, HOUR_FIELD,
MINUTES_FIELD, 'fid', r"D:\TRENMO_JASP\xyz\teste_pandas.xlsx",
PERIODS=PERIODS, PERIODS_INTERVAL=PERIOD_INTERVAL,
EXCLUDE_DAYS=EXCLUDE_DAYS, workspace_day_tables=None
)
In [ ]:
from senpy.pgsql.q.mean import meanrowsday_of_periods_by_entity
In [ ]:
INCLUDE_DAYS = [
#'2018-01-08', '2018-01-09', '2018-01-10', '2018-01-11', '2018-01-12',
'2018-01-15', '2018-01-16', '2018-01-17', '2018-01-18', '2018-01-19',
#'2018-01-22', '2018-01-23', '2018-01-24', '2018-01-25', '2018-01-26',
#'2018-01-29', '2018-01-30', '2018-01-31'
]
meanrowsday_of_periods_by_entity(
conParam, pgtable, DAY_FIELD, HOUR_FIELD, MINUTES_FIELD, SECONDS_FIELD,
["fid_percurso", "paragem"], [("07:30:00", "09:30:00"), ("10:00:00", "12:00:00")],
r'D:\TRENMO_JASP\xyz\teste_sql.xlsx',
filterData="({}) AND fid_percurso LIKE '%26B%'".format(" OR ".join(["dia='{}'".format(d) for d in INCLUDE_DAYS])),
numberDays=5
)
In [ ]: