{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import os, sys, json, argparse, pickle\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 generate_signals import SignalGenerator" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "self = SignalGenerator(config_name='test_0729',\n", " file_net='new_sungnam_network_internal_target_0721.net.xml',\n", " month=7,\n", " day=29,\n", " hour=9,\n", " minute=40)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1-1. 네트워크가 로드되었습니다.\n" ] } ], "source": [ "self.load_networks()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1-2. 테이블들이 로드되었습니다.\n" ] } ], "source": [ "self.load_tables()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'c:\\\\github\\\\siggen\\\\test_0729\\\\data\\\\tables'" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "self.path_tables\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# dura_As = [f'dura_A{i}' for i in range(1,9)]\n", "# dura_Bs = [f'dura_B{i}' for i in range(1,9)]\n", "# for i, row in self.plan.iterrows():\n", "# is_zero_A = (row[dura_As]==0).all()\n", "# is_zero_B = (row[dura_Bs]==0).all()\n", "# assert not (is_zero_A & is_zero_B)\n", "# if is_zero_B:\n", "# for j in range(1, 9):\n", "# self.plan.at[i, f'dura_B{j}'] = row[f'dura_A{j}']\n", "# if is_zero_A:\n", "# for j in range(1, 9):\n", "# self.plan.at[i, f'dura_A{j}'] = row[f'dura_B{j}']" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1-5. 필요한 보조 객체들이 모두 준비되었습니다.\n" ] } ], "source": [ "self.prepare_auxiliaries()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2. 신호이력 테이블을 변환합니다.\n" ] } ], "source": [ "self.process_history()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "c:\\github\\siggen\\test_0729\\data\\tables\\TL_IF_SIGL.csv\n" ] } ], "source": [ "print(os.path.join(self.path_tables, 'TL_IF_SIGL.csv'))" ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2024-07-29 09:36:32\n" ] } ], "source": [ "time_str = '2024-07-29 9:36:32'\n", "time_dt = datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S')\n", "print(time_dt)\n", "time_unix = int(time_dt.timestamp())" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
start_unixinter_nophas_Aphas_BSTOS_NOmove_Amove_B
0172221339243633074
1172221339243744074
2172221339243833083
3172221339244244074
4172221339244311062
........................
5751722213450444440-1-1
576172221345045511062
577172221345045622062
578172221345045711062
579172221345045811084
\n", "

580 rows × 7 columns

\n", "
" ], "text/plain": [ " start_unix inter_no phas_A phas_B STOS_NO move_A move_B\n", "0 1722213392 436 3 3 0 7 4\n", "1 1722213392 437 4 4 0 7 4\n", "2 1722213392 438 3 3 0 8 3\n", "3 1722213392 442 4 4 0 7 4\n", "4 1722213392 443 1 1 0 6 2\n", ".. ... ... ... ... ... ... ...\n", "575 1722213450 444 4 4 0 -1 -1\n", "576 1722213450 455 1 1 0 6 2\n", "577 1722213450 456 2 2 0 6 2\n", "578 1722213450 457 1 1 0 6 2\n", "579 1722213450 458 1 1 0 8 4\n", "\n", "[580 rows x 7 columns]" ] }, "execution_count": 103, "metadata": {}, "output_type": "execute_result" } ], "source": [ "phases = pd.read_csv(os.path.join(self.path_tables, 'TL_IF_SIGL.csv'))\n", "phases = phases.drop(columns=['FRST_REG_DT', 'RINGA_FLOW', 'RINGB_FLOW'])\n", "phases = phases.rename(columns={\n", " 'PHASE_DT':'start_unix','CRSRD_ID':'inter_no',\n", " 'RINGA_PHASE':'phas_A', 'RINGB_PHASE':'phas_B',\n", " 'MAP_MODE':'STOS_NO'\n", " })\n", "isp2move_A = self.isp2move['A']\n", "isp2move_B = self.isp2move['B']\n", "phases['move_A'] = phases.apply(\n", " lambda row: int(isp2move_A.get((row.inter_no, row.STOS_NO, row.phas_A), -1)), axis=1)\n", "phases['move_B'] = phases.apply(\n", " lambda row: int(isp2move_B.get((row.inter_no, row.STOS_NO, row.phas_B), -1)), axis=1)\n", "phases['start_unix'] = phases['start_unix'].apply(lambda time_str:int(datetime.strptime(time_str, '%Y-%m-%d %H:%M:%S').timestamp()))" ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1722213392\n", "1722213450\n", "1722213600\n" ] } ], "source": [ "print(phases.start_unix.min())\n", "print(phases.start_unix.max())\n", "print(self.present_time)" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
start_unixinter_nophas_Aphas_BSTOS_NOmove_Amove_B
0172221339243633074
1172221339243744074
2172221339243833083
3172221339244244074
4172221339244311062
51722213392444330-1-1
6172221339245511062
7172221339245644017-1
8172221339245755074
9172221339245811084
10172221339343633074
11172221339343744074
12172221339343833083
13172221339344244074
14172221339344311062
151722213393444330-1-1
16172221339345511062
17172221339345644017-1
18172221339345755074
19172221339345811084
20172221339443633074
21172221339443744074
22172221339443833083
23172221339444244074
24172221339444311062
251722213394444330-1-1
26172221339445511062
27172221339445644017-1
28172221339445755074
29172221339445811084
50172221339543633074
51172221339543744074
52172221339543833083
53172221339544244074
54172221339544311062
551722213395444330-1-1
56172221339545511062
57172221339545644017-1
58172221339545755074
59172221339545811084
\n", "
" ], "text/plain": [ " start_unix inter_no phas_A phas_B STOS_NO move_A move_B\n", "0 1722213392 436 3 3 0 7 4\n", "1 1722213392 437 4 4 0 7 4\n", "2 1722213392 438 3 3 0 8 3\n", "3 1722213392 442 4 4 0 7 4\n", "4 1722213392 443 1 1 0 6 2\n", "5 1722213392 444 3 3 0 -1 -1\n", "6 1722213392 455 1 1 0 6 2\n", "7 1722213392 456 4 4 0 17 -1\n", "8 1722213392 457 5 5 0 7 4\n", "9 1722213392 458 1 1 0 8 4\n", "10 1722213393 436 3 3 0 7 4\n", "11 1722213393 437 4 4 0 7 4\n", "12 1722213393 438 3 3 0 8 3\n", "13 1722213393 442 4 4 0 7 4\n", "14 1722213393 443 1 1 0 6 2\n", "15 1722213393 444 3 3 0 -1 -1\n", "16 1722213393 455 1 1 0 6 2\n", "17 1722213393 456 4 4 0 17 -1\n", "18 1722213393 457 5 5 0 7 4\n", "19 1722213393 458 1 1 0 8 4\n", "20 1722213394 436 3 3 0 7 4\n", "21 1722213394 437 4 4 0 7 4\n", "22 1722213394 438 3 3 0 8 3\n", "23 1722213394 442 4 4 0 7 4\n", "24 1722213394 443 1 1 0 6 2\n", "25 1722213394 444 3 3 0 -1 -1\n", "26 1722213394 455 1 1 0 6 2\n", "27 1722213394 456 4 4 0 17 -1\n", "28 1722213394 457 5 5 0 7 4\n", "29 1722213394 458 1 1 0 8 4\n", "50 1722213395 436 3 3 0 7 4\n", "51 1722213395 437 4 4 0 7 4\n", "52 1722213395 438 3 3 0 8 3\n", "53 1722213395 442 4 4 0 7 4\n", "54 1722213395 443 1 1 0 6 2\n", "55 1722213395 444 3 3 0 -1 -1\n", "56 1722213395 455 1 1 0 6 2\n", "57 1722213395 456 4 4 0 17 -1\n", "58 1722213395 457 5 5 0 7 4\n", "59 1722213395 458 1 1 0 8 4" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
inter_noend_unix
19254361722213230
19294371722213270
19304381722213270
19264421722213240
19284431722213269
19334551722213350
19344561722213360
19324571722213309
19354581722213360
\n", "
" ], "text/plain": [ " inter_no end_unix\n", "1925 436 1722213230\n", "1929 437 1722213270\n", "1930 438 1722213270\n", "1926 442 1722213240\n", "1928 443 1722213269\n", "1933 455 1722213350\n", "1934 456 1722213360\n", "1932 457 1722213309\n", "1935 458 1722213360" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
start_unixinter_nophas_Aphas_BSTOS_NOmove_Amove_Bend_unix
01722213392436330741.722213e+09
11722213392437440741.722213e+09
21722213392438330831.722213e+09
31722213392442440741.722213e+09
41722213392443110621.722213e+09
51722213392444330-1-1NaN
61722213392455110621.722213e+09
7172221339245644017-11.722213e+09
81722213392457550741.722213e+09
91722213392458110841.722213e+09
101722213393436330741.722213e+09
111722213393437440741.722213e+09
121722213393438330831.722213e+09
131722213393442440741.722213e+09
141722213393443110621.722213e+09
151722213393444330-1-1NaN
161722213393455110621.722213e+09
17172221339345644017-11.722213e+09
181722213393457550741.722213e+09
191722213393458110841.722213e+09
201722213394436330741.722213e+09
211722213394437440741.722213e+09
221722213394438330831.722213e+09
231722213394442440741.722213e+09
241722213394443110621.722213e+09
251722213394444330-1-1NaN
261722213394455110621.722213e+09
27172221339445644017-11.722213e+09
281722213394457550741.722213e+09
291722213394458110841.722213e+09
301722213395436330741.722213e+09
311722213395437440741.722213e+09
321722213395438330831.722213e+09
331722213395442440741.722213e+09
341722213395443110621.722213e+09
351722213395444330-1-1NaN
361722213395455110621.722213e+09
37172221339545644017-11.722213e+09
381722213395457550741.722213e+09
391722213395458110841.722213e+09
\n", "
" ], "text/plain": [ " start_unix inter_no phas_A phas_B STOS_NO move_A move_B \\\n", "0 1722213392 436 3 3 0 7 4 \n", "1 1722213392 437 4 4 0 7 4 \n", "2 1722213392 438 3 3 0 8 3 \n", "3 1722213392 442 4 4 0 7 4 \n", "4 1722213392 443 1 1 0 6 2 \n", "5 1722213392 444 3 3 0 -1 -1 \n", "6 1722213392 455 1 1 0 6 2 \n", "7 1722213392 456 4 4 0 17 -1 \n", "8 1722213392 457 5 5 0 7 4 \n", "9 1722213392 458 1 1 0 8 4 \n", "10 1722213393 436 3 3 0 7 4 \n", "11 1722213393 437 4 4 0 7 4 \n", "12 1722213393 438 3 3 0 8 3 \n", "13 1722213393 442 4 4 0 7 4 \n", "14 1722213393 443 1 1 0 6 2 \n", "15 1722213393 444 3 3 0 -1 -1 \n", "16 1722213393 455 1 1 0 6 2 \n", "17 1722213393 456 4 4 0 17 -1 \n", "18 1722213393 457 5 5 0 7 4 \n", "19 1722213393 458 1 1 0 8 4 \n", "20 1722213394 436 3 3 0 7 4 \n", "21 1722213394 437 4 4 0 7 4 \n", "22 1722213394 438 3 3 0 8 3 \n", "23 1722213394 442 4 4 0 7 4 \n", "24 1722213394 443 1 1 0 6 2 \n", "25 1722213394 444 3 3 0 -1 -1 \n", "26 1722213394 455 1 1 0 6 2 \n", "27 1722213394 456 4 4 0 17 -1 \n", "28 1722213394 457 5 5 0 7 4 \n", "29 1722213394 458 1 1 0 8 4 \n", "30 1722213395 436 3 3 0 7 4 \n", "31 1722213395 437 4 4 0 7 4 \n", "32 1722213395 438 3 3 0 8 3 \n", "33 1722213395 442 4 4 0 7 4 \n", "34 1722213395 443 1 1 0 6 2 \n", "35 1722213395 444 3 3 0 -1 -1 \n", "36 1722213395 455 1 1 0 6 2 \n", "37 1722213395 456 4 4 0 17 -1 \n", "38 1722213395 457 5 5 0 7 4 \n", "39 1722213395 458 1 1 0 8 4 \n", "\n", " end_unix \n", "0 1.722213e+09 \n", "1 1.722213e+09 \n", "2 1.722213e+09 \n", "3 1.722213e+09 \n", "4 1.722213e+09 \n", "5 NaN \n", "6 1.722213e+09 \n", "7 1.722213e+09 \n", "8 1.722213e+09 \n", "9 1.722213e+09 \n", "10 1.722213e+09 \n", "11 1.722213e+09 \n", "12 1.722213e+09 \n", "13 1.722213e+09 \n", "14 1.722213e+09 \n", "15 NaN \n", "16 1.722213e+09 \n", "17 1.722213e+09 \n", "18 1.722213e+09 \n", "19 1.722213e+09 \n", "20 1.722213e+09 \n", "21 1.722213e+09 \n", "22 1.722213e+09 \n", "23 1.722213e+09 \n", "24 1.722213e+09 \n", "25 NaN \n", "26 1.722213e+09 \n", "27 1.722213e+09 \n", "28 1.722213e+09 \n", "29 1.722213e+09 \n", "30 1.722213e+09 \n", "31 1.722213e+09 \n", "32 1.722213e+09 \n", "33 1.722213e+09 \n", "34 1.722213e+09 \n", "35 NaN \n", "36 1.722213e+09 \n", "37 1.722213e+09 \n", "38 1.722213e+09 \n", "39 1.722213e+09 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fsec = 1722213395\n", "move = phases[phases.start_unix <= fsec]\n", "display(move)\n", "recent_histories = [group.iloc[-1:] for _, group in self.history[self.history['end_unix'] < fsec].groupby('inter_no')] # 교차로별로 유닉스시간이 최대인 행들\n", "if not recent_histories:\n", " rhistory = pd.DataFrame({'inter_no':[], 'end_unix':[]}) # recent history\n", "else:\n", " rhistory = pd.concat(recent_histories)\n", "# display(rhistory.head())\n", "recent_unix = rhistory[['inter_no', 'end_unix']]\n", "display(recent_unix)\n", "move = pd.merge(move, recent_unix, how='left', on='inter_no')\n", "display(move)\n", "# move = move.rename(columns={'end_unix':'start_unix'})\n", "# try:\n", "# movement\n", "# except NameError:\n", "# movement = pd.DataFrame()\n", "# movement = pd.concat([movement, move])\n", "# movement = movement.drop_duplicates(['inter_no','phas_A','phas_B','start_unix'])\n", "# movement = movement[movement.start_unix > fsec - self.subtractor // 2]" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
start_unixinter_nophas_Aphas_BSTOS_NOmove_Amove_Bstart_unix
01722213392436330741.722213e+09
11722213392437440741.722213e+09
21722213392438330831.722213e+09
31722213392442440741.722213e+09
41722213392443110621.722213e+09
51722213392444330-1-1NaN
61722213392455110621.722213e+09
7172221339245644017-11.722213e+09
81722213392457550741.722213e+09
91722213392458110841.722213e+09
101722213393436330741.722213e+09
111722213393437440741.722213e+09
121722213393438330831.722213e+09
131722213393442440741.722213e+09
141722213393443110621.722213e+09
151722213393444330-1-1NaN
161722213393455110621.722213e+09
17172221339345644017-11.722213e+09
181722213393457550741.722213e+09
191722213393458110841.722213e+09
201722213394436330741.722213e+09
211722213394437440741.722213e+09
221722213394438330831.722213e+09
231722213394442440741.722213e+09
241722213394443110621.722213e+09
251722213394444330-1-1NaN
261722213394455110621.722213e+09
27172221339445644017-11.722213e+09
281722213394457550741.722213e+09
291722213394458110841.722213e+09
301722213395436330741.722213e+09
311722213395437440741.722213e+09
321722213395438330831.722213e+09
331722213395442440741.722213e+09
341722213395443110621.722213e+09
351722213395444330-1-1NaN
361722213395455110621.722213e+09
37172221339545644017-11.722213e+09
381722213395457550741.722213e+09
391722213395458110841.722213e+09
\n", "
" ], "text/plain": [ " start_unix inter_no phas_A phas_B STOS_NO move_A move_B \\\n", "0 1722213392 436 3 3 0 7 4 \n", "1 1722213392 437 4 4 0 7 4 \n", "2 1722213392 438 3 3 0 8 3 \n", "3 1722213392 442 4 4 0 7 4 \n", "4 1722213392 443 1 1 0 6 2 \n", "5 1722213392 444 3 3 0 -1 -1 \n", "6 1722213392 455 1 1 0 6 2 \n", "7 1722213392 456 4 4 0 17 -1 \n", "8 1722213392 457 5 5 0 7 4 \n", "9 1722213392 458 1 1 0 8 4 \n", "10 1722213393 436 3 3 0 7 4 \n", "11 1722213393 437 4 4 0 7 4 \n", "12 1722213393 438 3 3 0 8 3 \n", "13 1722213393 442 4 4 0 7 4 \n", "14 1722213393 443 1 1 0 6 2 \n", "15 1722213393 444 3 3 0 -1 -1 \n", "16 1722213393 455 1 1 0 6 2 \n", "17 1722213393 456 4 4 0 17 -1 \n", "18 1722213393 457 5 5 0 7 4 \n", "19 1722213393 458 1 1 0 8 4 \n", "20 1722213394 436 3 3 0 7 4 \n", "21 1722213394 437 4 4 0 7 4 \n", "22 1722213394 438 3 3 0 8 3 \n", "23 1722213394 442 4 4 0 7 4 \n", "24 1722213394 443 1 1 0 6 2 \n", "25 1722213394 444 3 3 0 -1 -1 \n", "26 1722213394 455 1 1 0 6 2 \n", "27 1722213394 456 4 4 0 17 -1 \n", "28 1722213394 457 5 5 0 7 4 \n", "29 1722213394 458 1 1 0 8 4 \n", "30 1722213395 436 3 3 0 7 4 \n", "31 1722213395 437 4 4 0 7 4 \n", "32 1722213395 438 3 3 0 8 3 \n", "33 1722213395 442 4 4 0 7 4 \n", "34 1722213395 443 1 1 0 6 2 \n", "35 1722213395 444 3 3 0 -1 -1 \n", "36 1722213395 455 1 1 0 6 2 \n", "37 1722213395 456 4 4 0 17 -1 \n", "38 1722213395 457 5 5 0 7 4 \n", "39 1722213395 458 1 1 0 8 4 \n", "\n", " start_unix \n", "0 1.722213e+09 \n", "1 1.722213e+09 \n", "2 1.722213e+09 \n", "3 1.722213e+09 \n", "4 1.722213e+09 \n", "5 NaN \n", "6 1.722213e+09 \n", "7 1.722213e+09 \n", "8 1.722213e+09 \n", "9 1.722213e+09 \n", "10 1.722213e+09 \n", "11 1.722213e+09 \n", "12 1.722213e+09 \n", "13 1.722213e+09 \n", "14 1.722213e+09 \n", "15 NaN \n", "16 1.722213e+09 \n", "17 1.722213e+09 \n", "18 1.722213e+09 \n", "19 1.722213e+09 \n", "20 1.722213e+09 \n", "21 1.722213e+09 \n", "22 1.722213e+09 \n", "23 1.722213e+09 \n", "24 1.722213e+09 \n", "25 NaN \n", "26 1.722213e+09 \n", "27 1.722213e+09 \n", "28 1.722213e+09 \n", "29 1.722213e+09 \n", "30 1.722213e+09 \n", "31 1.722213e+09 \n", "32 1.722213e+09 \n", "33 1.722213e+09 \n", "34 1.722213e+09 \n", "35 NaN \n", "36 1.722213e+09 \n", "37 1.722213e+09 \n", "38 1.722213e+09 \n", "39 1.722213e+09 " ] }, "metadata": {}, "output_type": "display_data" }, { "ename": "ValueError", "evalue": "cannot reindex on an axis with duplicate labels", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[105], line 20\u001b[0m\n\u001b[0;32m 18\u001b[0m movement \u001b[38;5;241m=\u001b[39m movement\u001b[38;5;241m.\u001b[39mdrop_duplicates([\u001b[38;5;124m'\u001b[39m\u001b[38;5;124minter_no\u001b[39m\u001b[38;5;124m'\u001b[39m,\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mphas_A\u001b[39m\u001b[38;5;124m'\u001b[39m,\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mphas_B\u001b[39m\u001b[38;5;124m'\u001b[39m,\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mstart_unix\u001b[39m\u001b[38;5;124m'\u001b[39m])\n\u001b[0;32m 19\u001b[0m display(movement)\n\u001b[1;32m---> 20\u001b[0m movement \u001b[38;5;241m=\u001b[39m \u001b[43mmovement\u001b[49m\u001b[43m[\u001b[49m\u001b[43mmovement\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstart_unix\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m>\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mfsec\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m-\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msubtractor\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[38;5;241;43m/\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m]\u001b[49m\n", "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\frame.py:4089\u001b[0m, in \u001b[0;36mDataFrame.__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m 4087\u001b[0m \u001b[38;5;66;03m# Do we have a (boolean) DataFrame?\u001b[39;00m\n\u001b[0;32m 4088\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(key, DataFrame):\n\u001b[1;32m-> 4089\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mwhere\u001b[49m\u001b[43m(\u001b[49m\u001b[43mkey\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 4091\u001b[0m \u001b[38;5;66;03m# Do we have a (boolean) 1d indexer?\u001b[39;00m\n\u001b[0;32m 4092\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m com\u001b[38;5;241m.\u001b[39mis_bool_indexer(key):\n", "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\generic.py:10984\u001b[0m, in \u001b[0;36mNDFrame.where\u001b[1;34m(self, cond, other, inplace, axis, level)\u001b[0m\n\u001b[0;32m 10977\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[0;32m 10978\u001b[0m _chained_assignment_warning_method_msg,\n\u001b[0;32m 10979\u001b[0m \u001b[38;5;167;01mFutureWarning\u001b[39;00m,\n\u001b[0;32m 10980\u001b[0m stacklevel\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m2\u001b[39m,\n\u001b[0;32m 10981\u001b[0m )\n\u001b[0;32m 10983\u001b[0m other \u001b[38;5;241m=\u001b[39m common\u001b[38;5;241m.\u001b[39mapply_if_callable(other, \u001b[38;5;28mself\u001b[39m)\n\u001b[1;32m> 10984\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_where\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcond\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mother\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minplace\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlevel\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\generic.py:10685\u001b[0m, in \u001b[0;36mNDFrame._where\u001b[1;34m(self, cond, other, inplace, axis, level, warn)\u001b[0m\n\u001b[0;32m 10682\u001b[0m cond \u001b[38;5;241m=\u001b[39m cond\u001b[38;5;241m.\u001b[39mastype(\u001b[38;5;28mbool\u001b[39m)\n\u001b[0;32m 10684\u001b[0m cond \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m-\u001b[39mcond \u001b[38;5;28;01mif\u001b[39;00m inplace \u001b[38;5;28;01melse\u001b[39;00m cond\n\u001b[1;32m> 10685\u001b[0m cond \u001b[38;5;241m=\u001b[39m \u001b[43mcond\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreindex\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_info_axis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_info_axis_number\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcopy\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[0;32m 10687\u001b[0m \u001b[38;5;66;03m# try to align with other\u001b[39;00m\n\u001b[0;32m 10688\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(other, NDFrame):\n\u001b[0;32m 10689\u001b[0m \u001b[38;5;66;03m# align with me\u001b[39;00m\n", "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\frame.py:5378\u001b[0m, in \u001b[0;36mDataFrame.reindex\u001b[1;34m(self, labels, index, columns, axis, method, copy, level, fill_value, limit, tolerance)\u001b[0m\n\u001b[0;32m 5359\u001b[0m \u001b[38;5;129m@doc\u001b[39m(\n\u001b[0;32m 5360\u001b[0m NDFrame\u001b[38;5;241m.\u001b[39mreindex,\n\u001b[0;32m 5361\u001b[0m klass\u001b[38;5;241m=\u001b[39m_shared_doc_kwargs[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mklass\u001b[39m\u001b[38;5;124m\"\u001b[39m],\n\u001b[1;32m (...)\u001b[0m\n\u001b[0;32m 5376\u001b[0m tolerance\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[0;32m 5377\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m DataFrame:\n\u001b[1;32m-> 5378\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreindex\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 5379\u001b[0m \u001b[43m \u001b[49m\u001b[43mlabels\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlabels\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 5380\u001b[0m \u001b[43m \u001b[49m\u001b[43mindex\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mindex\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 5381\u001b[0m \u001b[43m \u001b[49m\u001b[43mcolumns\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcolumns\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 5382\u001b[0m \u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 5383\u001b[0m \u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 5384\u001b[0m \u001b[43m \u001b[49m\u001b[43mcopy\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcopy\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 5385\u001b[0m \u001b[43m \u001b[49m\u001b[43mlevel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlevel\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 5386\u001b[0m \u001b[43m \u001b[49m\u001b[43mfill_value\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mfill_value\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 5387\u001b[0m \u001b[43m \u001b[49m\u001b[43mlimit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlimit\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 5388\u001b[0m \u001b[43m \u001b[49m\u001b[43mtolerance\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtolerance\u001b[49m\u001b[43m,\u001b[49m\n\u001b[0;32m 5389\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\generic.py:5610\u001b[0m, in \u001b[0;36mNDFrame.reindex\u001b[1;34m(self, labels, index, columns, axis, method, copy, level, fill_value, limit, tolerance)\u001b[0m\n\u001b[0;32m 5607\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_reindex_multi(axes, copy, fill_value)\n\u001b[0;32m 5609\u001b[0m \u001b[38;5;66;03m# perform the reindex on the axes\u001b[39;00m\n\u001b[1;32m-> 5610\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_reindex_axes\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 5611\u001b[0m \u001b[43m \u001b[49m\u001b[43maxes\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlevel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlimit\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtolerance\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfill_value\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcopy\u001b[49m\n\u001b[0;32m 5612\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241m.\u001b[39m__finalize__(\u001b[38;5;28mself\u001b[39m, method\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mreindex\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\generic.py:5633\u001b[0m, in \u001b[0;36mNDFrame._reindex_axes\u001b[1;34m(self, axes, level, limit, tolerance, method, fill_value, copy)\u001b[0m\n\u001b[0;32m 5630\u001b[0m \u001b[38;5;28;01mcontinue\u001b[39;00m\n\u001b[0;32m 5632\u001b[0m ax \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_axis(a)\n\u001b[1;32m-> 5633\u001b[0m new_index, indexer \u001b[38;5;241m=\u001b[39m \u001b[43max\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreindex\u001b[49m\u001b[43m(\u001b[49m\n\u001b[0;32m 5634\u001b[0m \u001b[43m \u001b[49m\u001b[43mlabels\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlevel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlevel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlimit\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlimit\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtolerance\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mtolerance\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mmethod\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmethod\u001b[49m\n\u001b[0;32m 5635\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 5637\u001b[0m axis \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_axis_number(a)\n\u001b[0;32m 5638\u001b[0m obj \u001b[38;5;241m=\u001b[39m obj\u001b[38;5;241m.\u001b[39m_reindex_with_indexers(\n\u001b[0;32m 5639\u001b[0m {axis: [new_index, indexer]},\n\u001b[0;32m 5640\u001b[0m fill_value\u001b[38;5;241m=\u001b[39mfill_value,\n\u001b[0;32m 5641\u001b[0m copy\u001b[38;5;241m=\u001b[39mcopy,\n\u001b[0;32m 5642\u001b[0m allow_dups\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m,\n\u001b[0;32m 5643\u001b[0m )\n", "File \u001b[1;32mc:\\github\\siggen\\siggen_env\\Lib\\site-packages\\pandas\\core\\indexes\\base.py:4429\u001b[0m, in \u001b[0;36mIndex.reindex\u001b[1;34m(self, target, method, level, limit, tolerance)\u001b[0m\n\u001b[0;32m 4426\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcannot handle a non-unique multi-index!\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 4427\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mis_unique:\n\u001b[0;32m 4428\u001b[0m \u001b[38;5;66;03m# GH#42568\u001b[39;00m\n\u001b[1;32m-> 4429\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcannot reindex on an axis with duplicate labels\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 4430\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 4431\u001b[0m indexer, _ \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mget_indexer_non_unique(target)\n", "\u001b[1;31mValueError\u001b[0m: cannot reindex on an axis with duplicate labels" ] } ], "source": [ "for fsec in range(self.present_time - self.sim_timespan, self.present_time + 1, 5):\n", " move = phases[phases.start_unix <= fsec]\n", " if not len(move):\n", " continue\n", " recent_histories = [group.iloc[-1:] for _, group in self.history[self.history['end_unix'] < fsec].groupby('inter_no')] # 교차로별로 유닉스시간이 최대인 행들\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", " move = pd.merge(move, recent_unix, how='left', on='inter_no')\n", " move = move.rename(columns={'end_unix':'start_unix'})\n", " try:\n", " movement\n", " except NameError:\n", " movement = pd.DataFrame()\n", " movement = pd.concat([movement, move])\n", " movement = movement.drop_duplicates(['inter_no','phas_A','phas_B','start_unix'])\n", " display(movement)\n", " movement = movement[movement.start_unix > fsec - self.subtractor // 2]" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'movement' is not defined", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[16], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[43mmovement\u001b[49m\n", "\u001b[1;31mNameError\u001b[0m: name 'movement' is not defined" ] } ], "source": [ "movement" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3. 이동류정보 테이블을 변환합니다.\n" ] } ], "source": [ "self.process_movement()" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[436, 437, 438, 442, 443, 455, 456, 457, 458]" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "self.inter_nos" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "ename": "NameError", "evalue": "name 'heathcliff' is not defined", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[41], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[43mheathcliff\u001b[49m \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n", "\u001b[1;31mNameError\u001b[0m: name 'heathcliff' is not defined" ] } ], "source": [ "if heathcliff is None:\n", " print('heathcliff')" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
start_unixinter_nophas_Aphas_BSTOS_NOmove_Amove_B
01.722246e+09436330.074
101.722246e+09436330.074
201.722246e+09436330.074
301.722246e+09436330.074
401.722246e+09436330.074
501.722246e+09436330.074
601.722246e+09436330.074
701.722246e+09436330.074
801.722246e+09436330.074
901.722246e+09436330.074
1001.722246e+09436330.074
1101.722246e+09436330.074
1201.722246e+09436330.074
1301.722246e+09436330.074
1401.722246e+09436440.061
1501.722246e+09436440.061
1601.722246e+09436440.061
1701.722246e+09436440.061
1801.722246e+09436440.061
1901.722246e+09436440.061
2001.722246e+09436440.061
2101.722246e+09436440.061
2201.722246e+09436440.061
2301.722246e+09436440.061
2401.722246e+09436440.061
2501.722246e+09436440.061
2601.722246e+09436440.061
2701.722246e+09436440.061
2801.722246e+09436440.061
2901.722246e+09436440.061
3001.722246e+09436440.061
3101.722246e+09436440.061
3201.722246e+09436440.061
3301.722246e+09436440.061
3401.722246e+09436440.061
3501.722246e+09436440.061
3601.722246e+09436440.061
3701.722246e+09436440.061
3801.722246e+09436440.061
3901.722246e+09436440.061
4001.722246e+09436440.061
4101.722246e+09436440.061
4201.722246e+09436440.061
4301.722246e+09436440.061
4401.722246e+09436440.061
4501.722246e+09436110.052
4601.722246e+09436110.052
4701.722246e+09436110.052
4801.722246e+09436110.052
4901.722246e+09436110.052
5001.722246e+09436110.052
5101.722246e+09436110.052
5201.722246e+09436110.052
5301.722246e+09436110.052
5401.722246e+09436110.052
5501.722246e+09436110.052
5601.722246e+09436110.052
5701.722246e+09436110.052
5851.722213e+0943611NaN52
5861.722213e+0943622NaN83
\n", "
" ], "text/plain": [ " start_unix inter_no phas_A phas_B STOS_NO move_A move_B\n", "0 1.722246e+09 436 3 3 0.0 7 4\n", "10 1.722246e+09 436 3 3 0.0 7 4\n", "20 1.722246e+09 436 3 3 0.0 7 4\n", "30 1.722246e+09 436 3 3 0.0 7 4\n", "40 1.722246e+09 436 3 3 0.0 7 4\n", "50 1.722246e+09 436 3 3 0.0 7 4\n", "60 1.722246e+09 436 3 3 0.0 7 4\n", "70 1.722246e+09 436 3 3 0.0 7 4\n", "80 1.722246e+09 436 3 3 0.0 7 4\n", "90 1.722246e+09 436 3 3 0.0 7 4\n", "100 1.722246e+09 436 3 3 0.0 7 4\n", "110 1.722246e+09 436 3 3 0.0 7 4\n", "120 1.722246e+09 436 3 3 0.0 7 4\n", "130 1.722246e+09 436 3 3 0.0 7 4\n", "140 1.722246e+09 436 4 4 0.0 6 1\n", "150 1.722246e+09 436 4 4 0.0 6 1\n", "160 1.722246e+09 436 4 4 0.0 6 1\n", "170 1.722246e+09 436 4 4 0.0 6 1\n", "180 1.722246e+09 436 4 4 0.0 6 1\n", "190 1.722246e+09 436 4 4 0.0 6 1\n", "200 1.722246e+09 436 4 4 0.0 6 1\n", "210 1.722246e+09 436 4 4 0.0 6 1\n", "220 1.722246e+09 436 4 4 0.0 6 1\n", "230 1.722246e+09 436 4 4 0.0 6 1\n", "240 1.722246e+09 436 4 4 0.0 6 1\n", "250 1.722246e+09 436 4 4 0.0 6 1\n", "260 1.722246e+09 436 4 4 0.0 6 1\n", "270 1.722246e+09 436 4 4 0.0 6 1\n", "280 1.722246e+09 436 4 4 0.0 6 1\n", "290 1.722246e+09 436 4 4 0.0 6 1\n", "300 1.722246e+09 436 4 4 0.0 6 1\n", "310 1.722246e+09 436 4 4 0.0 6 1\n", "320 1.722246e+09 436 4 4 0.0 6 1\n", "330 1.722246e+09 436 4 4 0.0 6 1\n", "340 1.722246e+09 436 4 4 0.0 6 1\n", "350 1.722246e+09 436 4 4 0.0 6 1\n", "360 1.722246e+09 436 4 4 0.0 6 1\n", "370 1.722246e+09 436 4 4 0.0 6 1\n", "380 1.722246e+09 436 4 4 0.0 6 1\n", "390 1.722246e+09 436 4 4 0.0 6 1\n", "400 1.722246e+09 436 4 4 0.0 6 1\n", "410 1.722246e+09 436 4 4 0.0 6 1\n", "420 1.722246e+09 436 4 4 0.0 6 1\n", "430 1.722246e+09 436 4 4 0.0 6 1\n", "440 1.722246e+09 436 4 4 0.0 6 1\n", "450 1.722246e+09 436 1 1 0.0 5 2\n", "460 1.722246e+09 436 1 1 0.0 5 2\n", "470 1.722246e+09 436 1 1 0.0 5 2\n", "480 1.722246e+09 436 1 1 0.0 5 2\n", "490 1.722246e+09 436 1 1 0.0 5 2\n", "500 1.722246e+09 436 1 1 0.0 5 2\n", "510 1.722246e+09 436 1 1 0.0 5 2\n", "520 1.722246e+09 436 1 1 0.0 5 2\n", "530 1.722246e+09 436 1 1 0.0 5 2\n", "540 1.722246e+09 436 1 1 0.0 5 2\n", "550 1.722246e+09 436 1 1 0.0 5 2\n", "560 1.722246e+09 436 1 1 0.0 5 2\n", "570 1.722246e+09 436 1 1 0.0 5 2\n", "585 1.722213e+09 436 1 1 NaN 5 2\n", "586 1.722213e+09 436 2 2 NaN 8 3" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "self.movement_updated[self.movement_updated.inter_no==436][:60]" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
inter_nostart_unixphas_Aphas_Bmove_Amove_Bduration
04551.722212e+09116263
14551.722212e+09116263
24551.722212e+09116263
34551.722212e+09116263
44551.722213e+09116262
54551.722213e+09116263
64551.722213e+09116263
74551.722213e+09116263
84551.722213e+09116263
94551.722213e+09116264
104551.722213e+09116263
114551.722213e+09116263
124551.722213e+09116263
134551.722213e+09116263
144551.722213e+09116263
154551.722213e+09116263
164551.722213e+09116263
174551.722213e+09116263
184551.722213e+09116263
194551.722214e+09116263
204551.722214e+09116263
214561.722212e+09115215
224561.722212e+09226228
234561.722212e+09337712
244561.722212e+0944171735
254561.722213e+09115215
264561.722213e+09226228
274561.722213e+09337712
284561.722213e+0944171735
294561.722213e+09115215
304561.722213e+09226228
314561.722213e+09337712
324561.722213e+0944171735
334561.722213e+09115215
344561.722213e+09226228
354561.722213e+09337712
364561.722213e+0944171735
374561.722213e+09115215
384561.722213e+09226228
394561.722213e+09337712
404561.722213e+0944171735
414561.722213e+09115215
424561.722213e+09226228
434561.722213e+09337712
444561.722213e+0944171735
454561.722213e+09115215
464561.722213e+09226228
474561.722213e+09337712
484561.722213e+0944171735
494561.722213e+09115215
504561.722213e+09226228
514561.722213e+09337712
524561.722213e+0944171735
534561.722213e+09115215
544561.722213e+09226228
554561.722213e+09337712
564561.722213e+0944171735
574561.722213e+09115215
584561.722213e+09226228
594561.722213e+09337712
\n", "
" ], "text/plain": [ " inter_no start_unix phas_A phas_B move_A move_B duration\n", "0 455 1.722212e+09 1 1 6 2 63\n", "1 455 1.722212e+09 1 1 6 2 63\n", "2 455 1.722212e+09 1 1 6 2 63\n", "3 455 1.722212e+09 1 1 6 2 63\n", "4 455 1.722213e+09 1 1 6 2 62\n", "5 455 1.722213e+09 1 1 6 2 63\n", "6 455 1.722213e+09 1 1 6 2 63\n", "7 455 1.722213e+09 1 1 6 2 63\n", "8 455 1.722213e+09 1 1 6 2 63\n", "9 455 1.722213e+09 1 1 6 2 64\n", "10 455 1.722213e+09 1 1 6 2 63\n", "11 455 1.722213e+09 1 1 6 2 63\n", "12 455 1.722213e+09 1 1 6 2 63\n", "13 455 1.722213e+09 1 1 6 2 63\n", "14 455 1.722213e+09 1 1 6 2 63\n", "15 455 1.722213e+09 1 1 6 2 63\n", "16 455 1.722213e+09 1 1 6 2 63\n", "17 455 1.722213e+09 1 1 6 2 63\n", "18 455 1.722213e+09 1 1 6 2 63\n", "19 455 1.722214e+09 1 1 6 2 63\n", "20 455 1.722214e+09 1 1 6 2 63\n", "21 456 1.722212e+09 1 1 5 2 15\n", "22 456 1.722212e+09 2 2 6 2 28\n", "23 456 1.722212e+09 3 3 7 7 12\n", "24 456 1.722212e+09 4 4 17 17 35\n", "25 456 1.722213e+09 1 1 5 2 15\n", "26 456 1.722213e+09 2 2 6 2 28\n", "27 456 1.722213e+09 3 3 7 7 12\n", "28 456 1.722213e+09 4 4 17 17 35\n", "29 456 1.722213e+09 1 1 5 2 15\n", "30 456 1.722213e+09 2 2 6 2 28\n", "31 456 1.722213e+09 3 3 7 7 12\n", "32 456 1.722213e+09 4 4 17 17 35\n", "33 456 1.722213e+09 1 1 5 2 15\n", "34 456 1.722213e+09 2 2 6 2 28\n", "35 456 1.722213e+09 3 3 7 7 12\n", "36 456 1.722213e+09 4 4 17 17 35\n", "37 456 1.722213e+09 1 1 5 2 15\n", "38 456 1.722213e+09 2 2 6 2 28\n", "39 456 1.722213e+09 3 3 7 7 12\n", "40 456 1.722213e+09 4 4 17 17 35\n", "41 456 1.722213e+09 1 1 5 2 15\n", "42 456 1.722213e+09 2 2 6 2 28\n", "43 456 1.722213e+09 3 3 7 7 12\n", "44 456 1.722213e+09 4 4 17 17 35\n", "45 456 1.722213e+09 1 1 5 2 15\n", "46 456 1.722213e+09 2 2 6 2 28\n", "47 456 1.722213e+09 3 3 7 7 12\n", "48 456 1.722213e+09 4 4 17 17 35\n", "49 456 1.722213e+09 1 1 5 2 15\n", "50 456 1.722213e+09 2 2 6 2 28\n", "51 456 1.722213e+09 3 3 7 7 12\n", "52 456 1.722213e+09 4 4 17 17 35\n", "53 456 1.722213e+09 1 1 5 2 15\n", "54 456 1.722213e+09 2 2 6 2 28\n", "55 456 1.722213e+09 3 3 7 7 12\n", "56 456 1.722213e+09 4 4 17 17 35\n", "57 456 1.722213e+09 1 1 5 2 15\n", "58 456 1.722213e+09 2 2 6 2 28\n", "59 456 1.722213e+09 3 3 7 7 12" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "self.merge_dfs()\n", "self.movedur[:60]" ] } ], "metadata": { "kernelspec": { "display_name": "siggen_env", "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.12.4" } }, "nbformat": 4, "nbformat_minor": 2 }