{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1. 데이터를 준비합니다.\n",
"1-1. 네트워크가 로드되었습니다.\n",
"1-2. 테이블들이 로드되었습니다.\n",
"1-5. 필요한 보조 객체들이 모두 준비되었습니다.\n",
"2. 신호이력 테이블을 변환합니다.\n"
]
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import os, sys, copy, argparse\n",
"import json\n",
"import sumolib, traci\n",
"from tqdm import tqdm\n",
"from datetime import datetime\n",
"path_root = os.path.dirname(os.path.dirname(os.path.abspath('.')))\n",
"path_scr = os.path.join(path_root, 'scripts')\n",
"sys.path.append(path_scr)\n",
"from preprocess_daily import DailyPreprocessor\n",
"from generate_signals import SignalGenerator\n",
"self = SignalGenerator()\n",
"self.prepare_data()\n",
"self.process_history()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"fsecs = list(range(self.present_time - self.sim_timespan, self.present_time + 1, 5))\n",
"I = len(fsecs)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=0 1704417900\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 2 2 7 3\n",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 4 4 6 1\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 1 1 6 18"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1864 | \n",
" 202 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 1868 | \n",
" 206 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 1865 | \n",
" 210 | \n",
" 1704417740 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1864 202 1704417740\n",
"1868 206 1704417800\n",
"1865 210 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=1 1704417905\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 2 2 7 3\n",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 4 4 6 1\n",
"4 201 5 5 7 4\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 1 1 6 18"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1868 | \n",
" 206 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 1865 | \n",
" 210 | \n",
" 1704417740 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1865 210 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 5 5 7 4 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=2 1704417910\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 2 2 7 3\n",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 4 4 6 1\n",
"4 201 5 5 7 4\n",
"5 202 2 2 17 18\n",
"6 206 3 3 8 4\n",
"7 210 1 1 6 18"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1868 | \n",
" 206 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 1865 | \n",
" 210 | \n",
" 1704417740 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1865 210 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 5 5 7 4 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 3 3 8 4 1704417800\n",
"7 210 1 1 6 18 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=3 1704417915\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 2 2 7 3\n",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 4 4 6 1\n",
"4 201 5 5 7 4\n",
"5 202 2 2 17 18\n",
"6 206 3 3 8 4\n",
"7 210 1 1 6 18"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1868 | \n",
" 206 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 1865 | \n",
" 210 | \n",
" 1704417740 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1865 210 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 5 5 7 4 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 3 3 8 4 1704417800\n",
"7 210 1 1 6 18 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=4 1704417920\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 3 6 1\n",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 1 1 8 4\n",
"4 201 1 1 8 3\n",
"5 202 1 1 6 2\n",
"6 206 3 3 8 4\n",
"7 210 1 1 6 18"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1868 | \n",
" 206 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 1865 | \n",
" 210 | \n",
" 1704417740 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1865 210 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 3 6 1 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 1 1 8 3 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 3 3 8 4 1704417800\n",
"7 210 1 1 6 18 1704417740"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=5 1704417925\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 3 6 1\n",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 1 1 8 4\n",
"4 201 1 1 8 3\n",
"5 202 1 1 6 2\n",
"6 206 3 3 8 4\n",
"7 210 1 2 6 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1868 | \n",
" 206 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 3 6 1 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 1 1 8 3 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 3 3 8 4 1704417800\n",
"7 210 1 2 6 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=6 1704417930\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 3 6 1\n",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 1 1 8 4\n",
"4 201 1 1 8 3\n",
"5 202 1 1 6 2\n",
"6 206 3 3 8 4\n",
"7 210 1 2 6 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1868 | \n",
" 206 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 3 6 1 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 1 1 8 3 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 3 3 8 4 1704417800\n",
"7 210 1 2 6 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=7 1704417935\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 3 6 1\n",
"1 176 1 1 8 4\n",
"2 177 1 1 8 4\n",
"3 178 1 1 8 4\n",
"4 201 1 1 8 3\n",
"5 202 1 1 6 2\n",
"6 206 4 4 17 18\n",
"7 210 1 2 6 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1868 | \n",
" 206 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 3 6 1 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 1 1 8 3 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 4 4 17 18 1704417800\n",
"7 210 1 2 6 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=8 1704417940\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 3 6 1\n",
"1 176 2 2 8 3\n",
"2 177 2 2 7 3\n",
"3 178 1 1 8 4\n",
"4 201 1 1 8 3\n",
"5 202 1 1 6 2\n",
"6 206 4 4 17 18\n",
"7 210 1 2 6 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1868 | \n",
" 206 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 3 6 1 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 2 2 7 3 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 1 1 8 3 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 4 4 17 18 1704417800\n",
"7 210 1 2 6 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=9 1704417945\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 4 6 2\n",
"1 176 2 2 8 3\n",
"2 177 2 2 7 3\n",
"3 178 1 1 8 4\n",
"4 201 2 2 5 2\n",
"5 202 1 1 6 2\n",
"6 206 4 4 17 18\n",
"7 210 2 2 5 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1868 | \n",
" 206 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 4 6 2 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 2 2 7 3 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 2 2 5 2 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 4 4 17 18 1704417800\n",
"7 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=10 1704417950\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 4 6 2\n",
"1 176 2 2 8 3\n",
"2 177 2 2 7 3\n",
"3 178 1 1 8 4\n",
"4 201 2 2 5 2\n",
"5 202 1 1 6 2\n",
"6 206 4 4 17 18\n",
"7 210 2 2 5 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1868 | \n",
" 206 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1868 206 1704417800\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 4 6 2 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 2 2 7 3 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 2 2 5 2 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 4 4 17 18 1704417800\n",
"7 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=11 1704417955\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 4 6 2\n",
"1 176 2 2 8 3\n",
"2 177 2 2 7 3\n",
"3 178 1 1 8 4\n",
"4 201 2 2 5 2\n",
"5 202 1 1 6 2\n",
"6 206 4 4 17 18\n",
"7 210 2 2 5 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 4 6 2 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 2 2 7 3 1704417790\n",
"3 178 1 1 8 4 1704417870\n",
"4 201 2 2 5 2 1704417870\n",
"5 202 1 1 6 2 1704417900\n",
"6 206 4 4 17 18 1704417950\n",
"7 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=12 1704417960\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 4 6 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 2 2 5 2\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 2 2 5 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 4 6 2 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417790\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 2 2 5 2 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=13 1704417965\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 4 6 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 2 2 5 2\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 2 2 5 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 4 6 2 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417790\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 2 2 5 2 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=14 1704417970\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 3 4 6 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 3 3 6 2\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 2 2 5 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1867 | \n",
" 175 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1866 | \n",
" 177 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1867 175 1704417790\n",
"1869 176 1704417810\n",
"1866 177 1704417790\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 3 4 6 2 1704417790\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417790\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 3 3 6 2 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 2 2 5 2 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=15 1704417975\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 4 4 5 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 3 3 6 2\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1869 176 1704417810\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 4 4 5 2 1704417970\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 3 3 6 2 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=16 1704417980\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 4 4 5 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 3 3 6 2\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1869 176 1704417810\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 4 4 5 2 1704417970\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 3 3 6 2 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=17 1704417985\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 4 4 5 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1869 176 1704417810\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 4 4 5 2 1704417970\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=18 1704417990\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 4 4 5 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 1 1 8 4\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1869 | \n",
" 176 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1869 176 1704417810\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 4 4 5 2 1704417970\n",
"1 176 2 2 8 3 1704417810\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 1 1 8 4 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=19 1704417995\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 4 4 5 2\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 2 2 7 3\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1877 | \n",
" 176 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 4 4 5 2 1704417970\n",
"1 176 2 2 8 3 1704417990\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 2 2 7 3 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 30 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 31 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=20 1704418000\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1877 | \n",
" 176 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 2 2 8 3 1704417990\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 30 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 31 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 32 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 33 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=21 1704418005\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 2 2 8 3\n",
"2 177 3 3 17 18\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1877 | \n",
" 176 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 2 2 8 3 1704417990\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 30 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 31 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 32 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 33 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=22 1704418010\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 3 3 5 18\n",
"2 177 3 3 17 18\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1877 | \n",
" 176 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 30 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 31 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 32 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 33 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 34 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=23 1704418015\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 3 3 5 18\n",
"2 177 3 3 17 18\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1877 | \n",
" 176 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 30 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 31 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 32 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 33 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 34 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=24 1704418020\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 3 3 5 18\n",
"2 177 3 3 17 18\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1877 | \n",
" 176 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 3 3 17 18 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 30 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 31 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 32 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 33 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 34 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=25 1704418025\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 3 3 5 18\n",
"2 177 4 4 5 1\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 2 2 17 18\n",
"7 210 3 3 7 4"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1877 | \n",
" 176 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 4 4 5 1 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 2 2 17 18 1704417950\n",
"7 210 3 3 7 4 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 30 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 31 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 32 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 33 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 34 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 35 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
" 1704417970 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990\n",
"35 177 4 4 5 1 1704417970"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=26 1704418030\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 4 | \n",
" 4 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 3 3 5 18\n",
"2 177 4 4 5 1\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 3 3 8 4\n",
"7 210 4 4 8 3"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1877 | \n",
" 176 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 4 | \n",
" 4 | \n",
" 8 | \n",
" 3 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 4 4 5 1 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 3 3 8 4 1704417950\n",
"7 210 4 4 8 3 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 30 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 31 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 32 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 33 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 34 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 35 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 36 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 37 | \n",
" 210 | \n",
" 4 | \n",
" 4 | \n",
" 8 | \n",
" 3 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990\n",
"35 177 4 4 5 1 1704417970\n",
"36 206 3 3 8 4 1704417950\n",
"37 210 4 4 8 3 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=27 1704418035\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 4 | \n",
" 4 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 1 1 8 4\n",
"1 176 3 3 5 18\n",
"2 177 4 4 5 1\n",
"3 178 3 3 5 2\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 3 3 8 4\n",
"7 210 4 4 8 3"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1877 | \n",
" 176 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 4 | \n",
" 4 | \n",
" 8 | \n",
" 3 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 1 1 8 4 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 4 4 5 1 1704417970\n",
"3 178 3 3 5 2 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 3 3 8 4 1704417950\n",
"7 210 4 4 8 3 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 30 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 31 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 32 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 33 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 34 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 35 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 36 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 37 | \n",
" 210 | \n",
" 4 | \n",
" 4 | \n",
" 8 | \n",
" 3 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990\n",
"35 177 4 4 5 1 1704417970\n",
"36 206 3 3 8 4 1704417950\n",
"37 210 4 4 8 3 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=28 1704418040\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 4 | \n",
" 4 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 2 2 7 3\n",
"1 176 3 3 5 18\n",
"2 177 4 4 5 1\n",
"3 178 4 4 6 1\n",
"4 201 4 4 6 1\n",
"5 202 2 2 17 18\n",
"6 206 3 3 8 4\n",
"7 210 4 4 8 3"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1877 | \n",
" 176 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1871 | \n",
" 178 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1870 | \n",
" 201 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1871 178 1704417870\n",
"1870 201 1704417870\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 4 | \n",
" 4 | \n",
" 8 | \n",
" 3 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 4 4 5 1 1704417970\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 3 3 8 4 1704417950\n",
"7 210 4 4 8 3 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 30 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 31 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 32 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 33 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 34 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 35 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 36 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 37 | \n",
" 210 | \n",
" 4 | \n",
" 4 | \n",
" 8 | \n",
" 3 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 38 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417970 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990\n",
"35 177 4 4 5 1 1704417970\n",
"36 206 3 3 8 4 1704417950\n",
"37 210 4 4 8 3 1704417921\n",
"38 175 2 2 7 3 1704417970"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"i=29 1704418045\n",
"1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 4 | \n",
" 4 | \n",
" 8 | \n",
" 3 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 175 2 2 7 3\n",
"1 176 3 3 5 18\n",
"2 177 4 4 5 1\n",
"3 178 4 4 6 1\n",
"4 201 5 5 7 4\n",
"5 202 2 2 17 18\n",
"6 206 3 3 8 4\n",
"7 210 4 4 8 3"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" end_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 1876 | \n",
" 175 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1877 | \n",
" 176 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 1875 | \n",
" 177 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1879 | \n",
" 178 | \n",
" 1704418041 | \n",
"
\n",
" \n",
" 1878 | \n",
" 201 | \n",
" 1704418040 | \n",
"
\n",
" \n",
" 1872 | \n",
" 202 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 1874 | \n",
" 206 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 1873 | \n",
" 210 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no end_unix\n",
"1876 175 1704417970\n",
"1877 176 1704417990\n",
"1875 177 1704417970\n",
"1879 178 1704418041\n",
"1878 201 1704418040\n",
"1872 202 1704417900\n",
"1874 206 1704417950\n",
"1873 210 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704418041 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704418040 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 4 | \n",
" 4 | \n",
" 8 | \n",
" 3 | \n",
" 1704417921 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417970\n",
"1 176 3 3 5 18 1704417990\n",
"2 177 4 4 5 1 1704417970\n",
"3 178 4 4 6 1 1704418041\n",
"4 201 5 5 7 4 1704418040\n",
"5 202 2 2 17 18 1704417900\n",
"6 206 3 3 8 4 1704417950\n",
"7 210 4 4 8 3 1704417921"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 2 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 3 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 5 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 6 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 7 | \n",
" 210 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 18 | \n",
" 1704417740 | \n",
"
\n",
" \n",
" 8 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 9 | \n",
" 202 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 10 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 11 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 12 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 13 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 14 | \n",
" 202 | \n",
" 1 | \n",
" 1 | \n",
" 6 | \n",
" 2 | \n",
" 1704417900 | \n",
"
\n",
" \n",
" 15 | \n",
" 210 | \n",
" 1 | \n",
" 2 | \n",
" 6 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 16 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417800 | \n",
"
\n",
" \n",
" 17 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417810 | \n",
"
\n",
" \n",
" 18 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 19 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 20 | \n",
" 201 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 21 | \n",
" 210 | \n",
" 2 | \n",
" 2 | \n",
" 5 | \n",
" 2 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 22 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 23 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 24 | \n",
" 178 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 25 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 26 | \n",
" 201 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 27 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 28 | \n",
" 177 | \n",
" 3 | \n",
" 3 | \n",
" 17 | \n",
" 18 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 29 | \n",
" 210 | \n",
" 3 | \n",
" 3 | \n",
" 7 | \n",
" 4 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 30 | \n",
" 176 | \n",
" 2 | \n",
" 2 | \n",
" 8 | \n",
" 3 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 31 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 32 | \n",
" 175 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 33 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704417870 | \n",
"
\n",
" \n",
" 34 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704417990 | \n",
"
\n",
" \n",
" 35 | \n",
" 177 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 1 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 36 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704417950 | \n",
"
\n",
" \n",
" 37 | \n",
" 210 | \n",
" 4 | \n",
" 4 | \n",
" 8 | \n",
" 3 | \n",
" 1704417921 | \n",
"
\n",
" \n",
" 38 | \n",
" 175 | \n",
" 2 | \n",
" 2 | \n",
" 7 | \n",
" 3 | \n",
" 1704417970 | \n",
"
\n",
" \n",
" 39 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704418041 | \n",
"
\n",
" \n",
" 40 | \n",
" 201 | \n",
" 5 | \n",
" 5 | \n",
" 7 | \n",
" 4 | \n",
" 1704418040 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 175 2 2 7 3 1704417790\n",
"1 176 1 1 8 4 1704417810\n",
"2 177 1 1 8 4 1704417790\n",
"3 178 4 4 6 1 1704417870\n",
"4 201 4 4 6 1 1704417870\n",
"5 202 2 2 17 18 1704417740\n",
"6 206 2 2 17 18 1704417800\n",
"7 210 1 1 6 18 1704417740\n",
"8 201 5 5 7 4 1704417870\n",
"9 202 2 2 17 18 1704417900\n",
"10 206 3 3 8 4 1704417800\n",
"11 175 3 3 6 1 1704417790\n",
"12 178 1 1 8 4 1704417870\n",
"13 201 1 1 8 3 1704417870\n",
"14 202 1 1 6 2 1704417900\n",
"15 210 1 2 6 2 1704417921\n",
"16 206 4 4 17 18 1704417800\n",
"17 176 2 2 8 3 1704417810\n",
"18 177 2 2 7 3 1704417790\n",
"19 175 3 4 6 2 1704417790\n",
"20 201 2 2 5 2 1704417870\n",
"21 210 2 2 5 2 1704417921\n",
"22 206 4 4 17 18 1704417950\n",
"23 177 3 3 17 18 1704417790\n",
"24 178 2 2 7 3 1704417870\n",
"25 206 1 1 8 4 1704417950\n",
"26 201 3 3 6 2 1704417870\n",
"27 175 4 4 5 2 1704417970\n",
"28 177 3 3 17 18 1704417970\n",
"29 210 3 3 7 4 1704417921\n",
"30 176 2 2 8 3 1704417990\n",
"31 206 2 2 17 18 1704417950\n",
"32 175 1 1 8 4 1704417970\n",
"33 178 3 3 5 2 1704417870\n",
"34 176 3 3 5 18 1704417990\n",
"35 177 4 4 5 1 1704417970\n",
"36 206 3 3 8 4 1704417950\n",
"37 210 4 4 8 3 1704417921\n",
"38 175 2 2 7 3 1704417970\n",
"39 178 4 4 6 1 1704418041\n",
"40 201 5 5 7 4 1704418040"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"for i in range(30): # fsec : unix time by Five SECond\n",
" fsec = fsecs[i]\n",
" print(f'i={i}', fsec)\n",
" # 1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A\n",
" print('1. 상태 테이블 조회해서 전체 데이터중 필요데이터(교차로번호, A링 현시번호, A링 이동류번호, B링 현시번호, B링 이동류번호)만 수집 : A')\n",
" move = pd.read_csv(os.path.join(self.path_tables, 'move', f'move_{fsec}.csv'), index_col=0).reset_index(drop=True)\n",
" display(move)\n",
" # 2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B\n",
" print('2. 이력 테이블 조회해서 교차로별로 유닉스시간 최대인 데이터(교차로번호, 종료유닉스타임)만 수집 : B')\n",
" recent_histories = [group.iloc[-1:] for _, group in self.history[self.history['end_unix'] < fsec].groupby('inter_no')] # 교차로별로 유닉스시간이 최대인 행들\n",
" \n",
" if not recent_histories:\n",
" rhistory = pd.DataFrame({'inter_no':[], 'end_unix':[]}) # recent history\n",
" else:\n",
" rhistory = pd.concat(recent_histories)\n",
" recent_unix = rhistory[['inter_no', 'end_unix']]\n",
" display(recent_unix)\n",
" # 3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
" print('''3. 상태 테이블 조회정보(A)와 이력 테이블 조회정보(B) 조인(키값 : 교차로번호) : C\n",
"4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
"''')\n",
" move = pd.merge(move, recent_unix, how='left', on='inter_no')\n",
" move['end_unix'] = move['end_unix'].fillna(0).astype(int)\n",
" # 4. C데이터 프레임에 신규 컬럼(시작 유닉스타임) 생성 후 종료유닉스 타임 값 입력, 종료 유닉스 타임 컬럼 제거\n",
" move = move.rename(columns = {'end_unix':'start_unix'})\n",
" display(move)\n",
" # 5. 이동류 이력정보 READ\n",
" # - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성)\n",
" try:\n",
" if isinstance(movement, pd.DataFrame): # movement가 존재할 경우 그걸 그대로 씀.\n",
" pass\n",
" else: \n",
" movement = pd.DataFrame()\n",
" except NameError: # movement가 존재하지 않는 경우 생성\n",
" movement = pd.DataFrame()\n",
" # 6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
" print('''\n",
"5. 이동류 이력정보 READ\n",
" - CSV 파일로 서버에 저장된 이동류정보를 읽어옴(파일이 없는 경우에는 데이터가 없는 프레임 D 생성\n",
"6. 이동류 이력정보 데이터테이블(D)에 C데이터 add\n",
"7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
"8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
"''')\n",
" movement = pd.concat([movement, move])\n",
" # 7. D데이터 프레임에서 중복데이터 제거(교차로번호, 시작 유닉스타임, A링 현시번호, B링 현시번호 같은 행은 제거)\n",
" movement = movement.drop_duplicates(['inter_no','phas_A','phas_B','start_unix'])\n",
" # 8. D데이터 보관 시간 기준시간을 시작 유닉스 타임의 최대값 - self.subtractor // 2을 값으로 산출하고, 보관 시간 기준시간보다 작은 시작 유닉스 타임을 가진 행은 모두 제거(1시간 데이터만 보관)\n",
" movement = movement[movement.start_unix > fsec - self.subtractor // 2].reset_index(drop=True)\n",
" # movement = movement.sort_values(by=['start_unix','inter_no','phas_A','phas_B']).reset_index(drop=True)\n",
" display(movement)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"self.make_movement()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704414620 | \n",
"
\n",
" \n",
" 1 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704414620 | \n",
"
\n",
" \n",
" 2 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704414620 | \n",
"
\n",
" \n",
" 3 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704414620 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704414640 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 658 | \n",
" 178 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704418150 | \n",
"
\n",
" \n",
" 659 | \n",
" 178 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 2 | \n",
" 1704418150 | \n",
"
\n",
" \n",
" 660 | \n",
" 178 | \n",
" 4 | \n",
" 4 | \n",
" 6 | \n",
" 1 | \n",
" 1704418150 | \n",
"
\n",
" \n",
" 661 | \n",
" 176 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704418180 | \n",
"
\n",
" \n",
" 662 | \n",
" 176 | \n",
" 3 | \n",
" 3 | \n",
" 5 | \n",
" 18 | \n",
" 1704418180 | \n",
"
\n",
" \n",
"
\n",
"
663 rows × 6 columns
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 206 1 1 8 4 1704414620\n",
"1 206 2 2 17 18 1704414620\n",
"2 206 3 3 8 4 1704414620\n",
"3 206 4 4 17 18 1704414620\n",
"4 201 1 1 8 3 1704414640\n",
".. ... ... ... ... ... ...\n",
"658 178 1 1 8 4 1704418150\n",
"659 178 3 3 5 2 1704418150\n",
"660 178 4 4 6 1 1704418150\n",
"661 176 1 1 8 4 1704418180\n",
"662 176 3 3 5 18 1704418180\n",
"\n",
"[663 rows x 6 columns]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.movement"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"self.update_movement()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" phas_A | \n",
" phas_B | \n",
" move_A | \n",
" move_B | \n",
" start_unix | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 206 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704414620 | \n",
"
\n",
" \n",
" 1 | \n",
" 206 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704414620 | \n",
"
\n",
" \n",
" 2 | \n",
" 206 | \n",
" 3 | \n",
" 3 | \n",
" 8 | \n",
" 4 | \n",
" 1704414620 | \n",
"
\n",
" \n",
" 3 | \n",
" 206 | \n",
" 4 | \n",
" 4 | \n",
" 17 | \n",
" 18 | \n",
" 1704414620 | \n",
"
\n",
" \n",
" 4 | \n",
" 201 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 3 | \n",
" 1704414640 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 864 | \n",
" 175 | \n",
" 3 | \n",
" 3 | \n",
" 6 | \n",
" 1 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 865 | \n",
" 175 | \n",
" 3 | \n",
" 4 | \n",
" 6 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 866 | \n",
" 175 | \n",
" 4 | \n",
" 4 | \n",
" 5 | \n",
" 2 | \n",
" 1704417790 | \n",
"
\n",
" \n",
" 867 | \n",
" 177 | \n",
" 1 | \n",
" 1 | \n",
" 8 | \n",
" 4 | \n",
" 1704418150 | \n",
"
\n",
" \n",
" 868 | \n",
" 177 | \n",
" 2 | \n",
" 2 | \n",
" 17 | \n",
" 18 | \n",
" 1704418150 | \n",
"
\n",
" \n",
"
\n",
"
869 rows × 6 columns
\n",
"
"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B start_unix\n",
"0 206 1 1 8 4 1704414620\n",
"1 206 2 2 17 18 1704414620\n",
"2 206 3 3 8 4 1704414620\n",
"3 206 4 4 17 18 1704414620\n",
"4 201 1 1 8 3 1704414640\n",
".. ... ... ... ... ... ...\n",
"864 175 3 3 6 1 1704417790\n",
"865 175 3 4 6 2 1704417790\n",
"866 175 4 4 5 2 1704417790\n",
"867 177 1 1 8 4 1704418150\n",
"868 177 2 2 17 18 1704418150\n",
"\n",
"[869 rows x 6 columns]"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.movement_updated"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" inter_no | \n",
" start_unix | \n",
" phas_A | \n",
" phas_B | \n",
" duration | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 206 | \n",
" 1704417350 | \n",
" 1 | \n",
" 1 | \n",
" 45 | \n",
"
\n",
" \n",
" 1 | \n",
" 206 | \n",
" 1704417350 | \n",
" 2 | \n",
" 2 | \n",
" 53 | \n",
"
\n",
" \n",
" 2 | \n",
" 206 | \n",
" 1704417350 | \n",
" 3 | \n",
" 3 | \n",
" 26 | \n",
"
\n",
" \n",
" 3 | \n",
" 206 | \n",
" 1704417350 | \n",
" 4 | \n",
" 4 | \n",
" 26 | \n",
"
\n",
" \n",
" 0 | \n",
" 206 | \n",
" 1704417500 | \n",
" 1 | \n",
" 1 | \n",
" 45 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1704418350 | \n",
" 2 | \n",
" 2 | \n",
" 103 | \n",
"
\n",
" \n",
" 2 | \n",
" 176 | \n",
" 1704418350 | \n",
" 3 | \n",
" 3 | \n",
" 40 | \n",
"
\n",
" \n",
" 0 | \n",
" 176 | \n",
" 1704418530 | \n",
" 1 | \n",
" 1 | \n",
" 37 | \n",
"
\n",
" \n",
" 1 | \n",
" 176 | \n",
" 1704418530 | \n",
" 2 | \n",
" 2 | \n",
" 103 | \n",
"
\n",
" \n",
" 2 | \n",
" 176 | \n",
" 1704418530 | \n",
" 3 | \n",
" 3 | \n",
" 40 | \n",
"
\n",
" \n",
"
\n",
"
265 rows × 5 columns
\n",
"
"
],
"text/plain": [
" inter_no start_unix phas_A phas_B duration\n",
"0 206 1704417350 1 1 45\n",
"1 206 1704417350 2 2 53\n",
"2 206 1704417350 3 3 26\n",
"3 206 1704417350 4 4 26\n",
"0 206 1704417500 1 1 45\n",
".. ... ... ... ... ...\n",
"1 176 1704418350 2 2 103\n",
"2 176 1704418350 3 3 40\n",
"0 176 1704418530 1 1 37\n",
"1 176 1704418530 2 2 103\n",
"2 176 1704418530 3 3 40\n",
"\n",
"[265 rows x 5 columns]"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.hrhists"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "siggen",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 2
}