신호생성 repo (24. 1. 5 ~).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1758 lines
54 KiB

{
"cells": [
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import os, sys, copy, argparse, json, 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 preprocess_daily import DailyPreprocessor\n",
"# from generate_signals import SignalGenerator"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"self = DailyPreprocessor(config_name = 'test_0731')"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1. 데이터를 로드합니다.\n",
"1-1. 네트워크가 로드되었습니다.\n",
"1-2. 테이블들이 로드되었습니다.\n",
"1-5. 테이블을 표준화했습니다.\n",
"1-6. 주요 객체 (리스트, 딕셔너리)들을 저장했습니다.\n"
]
}
],
"source": [
"# 1. 데이터 불러오기\n",
"self.load_data()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2-1. 매칭 테이블들을 생성했습니다.\n"
]
}
],
"source": [
"self.get_matches()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>phas_A</th>\n",
" <th>phas_B</th>\n",
" <th>move_A</th>\n",
" <th>move_B</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>436</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>436</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>436</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>436</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>437</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>437</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>437</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>437</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>438</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>438</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>438</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>438</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>442</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>442</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>442</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>442</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>442</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>442</td>\n",
" <td>6</td>\n",
" <td>6</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>443</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>443</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>443</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>455</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>456</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>456</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>456</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>7</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>456</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>457</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>6</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>457</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>457</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>457</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>457</td>\n",
" <td>5</td>\n",
" <td>5</td>\n",
" <td>7</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>458</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>8</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>458</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>17</td>\n",
" <td>17</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" inter_no phas_A phas_B move_A move_B\n",
"0 436 1 1 5 2\n",
"1 436 2 2 8 3\n",
"2 436 3 3 7 4\n",
"3 436 4 4 6 1\n",
"4 437 1 1 6 2\n",
"5 437 2 2 5 1\n",
"6 437 3 3 8 3\n",
"7 437 4 4 7 4\n",
"8 438 1 1 6 2\n",
"9 438 2 2 5 1\n",
"10 438 3 3 8 3\n",
"11 438 4 4 7 4\n",
"12 442 1 1 6 1\n",
"13 442 2 2 6 2\n",
"14 442 3 3 5 2\n",
"15 442 4 4 7 4\n",
"16 442 5 5 8 3\n",
"17 442 6 6 8 3\n",
"18 443 1 1 6 2\n",
"19 443 2 2 5 2\n",
"20 443 3 3 7 18\n",
"21 455 1 1 6 2\n",
"22 456 1 1 5 2\n",
"23 456 2 2 6 2\n",
"24 456 3 3 7 7\n",
"25 456 4 4 17 17\n",
"26 457 1 1 6 2\n",
"27 457 2 2 5 1\n",
"28 457 3 3 17 17\n",
"29 457 4 4 8 3\n",
"30 457 5 5 7 4\n",
"31 458 1 1 8 4\n",
"32 458 2 2 17 17"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.match1"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>phase_no</th>\n",
" <th>ring_type</th>\n",
" <th>move_no</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>436</td>\n",
" <td>1</td>\n",
" <td>A</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>436</td>\n",
" <td>1</td>\n",
" <td>B</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>436</td>\n",
" <td>2</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>436</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>436</td>\n",
" <td>3</td>\n",
" <td>A</td>\n",
" <td>7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>457</td>\n",
" <td>5</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>458</td>\n",
" <td>1</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>458</td>\n",
" <td>1</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>458</td>\n",
" <td>2</td>\n",
" <td>A</td>\n",
" <td>17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>458</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>17</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>66 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" inter_no phase_no ring_type move_no\n",
"0 436 1 A 5\n",
"0 436 1 B 2\n",
"1 436 2 A 8\n",
"1 436 2 B 3\n",
"2 436 3 A 7\n",
".. ... ... ... ...\n",
"30 457 5 B 4\n",
"31 458 1 A 8\n",
"31 458 1 B 4\n",
"32 458 2 A 17\n",
"32 458 2 B 17\n",
"\n",
"[66 rows x 4 columns]"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.match2"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>phase_no</th>\n",
" <th>ring_type</th>\n",
" <th>move_no</th>\n",
" <th>inc_dire</th>\n",
" <th>out_dire</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>436</td>\n",
" <td>1</td>\n",
" <td>A</td>\n",
" <td>5</td>\n",
" <td>서</td>\n",
" <td>북</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>436</td>\n",
" <td>1</td>\n",
" <td>B</td>\n",
" <td>2</td>\n",
" <td>서</td>\n",
" <td>동</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>436</td>\n",
" <td>2</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" <td>남</td>\n",
" <td>북</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>436</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>3</td>\n",
" <td>남</td>\n",
" <td>서</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>436</td>\n",
" <td>3</td>\n",
" <td>A</td>\n",
" <td>7</td>\n",
" <td>북</td>\n",
" <td>동</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>61</th>\n",
" <td>457</td>\n",
" <td>5</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" <td>북</td>\n",
" <td>남</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td>458</td>\n",
" <td>1</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" <td>남</td>\n",
" <td>북</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63</th>\n",
" <td>458</td>\n",
" <td>1</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" <td>북</td>\n",
" <td>남</td>\n",
" </tr>\n",
" <tr>\n",
" <th>64</th>\n",
" <td>458</td>\n",
" <td>2</td>\n",
" <td>A</td>\n",
" <td>17</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>65</th>\n",
" <td>458</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>17</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>66 rows × 6 columns</p>\n",
"</div>"
],
"text/plain": [
" inter_no phase_no ring_type move_no inc_dire out_dire\n",
"0 436 1 A 5 서 북\n",
"1 436 1 B 2 서 동\n",
"2 436 2 A 8 남 북\n",
"3 436 2 B 3 남 서\n",
"4 436 3 A 7 북 동\n",
".. ... ... ... ... ... ...\n",
"61 457 5 B 4 북 남\n",
"62 458 1 A 8 남 북\n",
"63 458 1 B 4 북 남\n",
"64 458 2 A 17 NaN NaN\n",
"65 458 2 B 17 NaN NaN\n",
"\n",
"[66 rows x 6 columns]"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.match3"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>phase_no</th>\n",
" <th>ring_type</th>\n",
" <th>move_no</th>\n",
" <th>inc_dire</th>\n",
" <th>out_dire</th>\n",
" <th>inc_angle</th>\n",
" <th>out_angle</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>436</td>\n",
" <td>1</td>\n",
" <td>A</td>\n",
" <td>5</td>\n",
" <td>서</td>\n",
" <td>북</td>\n",
" <td>262</td>\n",
" <td>358</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>436</td>\n",
" <td>1</td>\n",
" <td>B</td>\n",
" <td>2</td>\n",
" <td>서</td>\n",
" <td>동</td>\n",
" <td>262</td>\n",
" <td>074</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>436</td>\n",
" <td>2</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" <td>남</td>\n",
" <td>북</td>\n",
" <td>174</td>\n",
" <td>355</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>436</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>3</td>\n",
" <td>남</td>\n",
" <td>서</td>\n",
" <td>172</td>\n",
" <td>263</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>436</td>\n",
" <td>3</td>\n",
" <td>A</td>\n",
" <td>7</td>\n",
" <td>북</td>\n",
" <td>동</td>\n",
" <td>356</td>\n",
" <td>074</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>61</th>\n",
" <td>457</td>\n",
" <td>5</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" <td>북</td>\n",
" <td>남</td>\n",
" <td>344</td>\n",
" <td>164</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td>458</td>\n",
" <td>1</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" <td>남</td>\n",
" <td>북</td>\n",
" <td>073</td>\n",
" <td>250</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63</th>\n",
" <td>458</td>\n",
" <td>1</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" <td>북</td>\n",
" <td>남</td>\n",
" <td>249</td>\n",
" <td>072</td>\n",
" </tr>\n",
" <tr>\n",
" <th>64</th>\n",
" <td>458</td>\n",
" <td>2</td>\n",
" <td>A</td>\n",
" <td>17</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>65</th>\n",
" <td>458</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>17</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>66 rows × 8 columns</p>\n",
"</div>"
],
"text/plain": [
" inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
"0 436 1 A 5 서 북 262 \n",
"1 436 1 B 2 서 동 262 \n",
"2 436 2 A 8 남 북 174 \n",
"3 436 2 B 3 남 서 172 \n",
"4 436 3 A 7 북 동 356 \n",
".. ... ... ... ... ... ... ... \n",
"61 457 5 B 4 북 남 344 \n",
"62 458 1 A 8 남 북 073 \n",
"63 458 1 B 4 북 남 249 \n",
"64 458 2 A 17 NaN NaN NaN \n",
"65 458 2 B 17 NaN NaN NaN \n",
"\n",
" out_angle \n",
"0 358 \n",
"1 074 \n",
"2 355 \n",
"3 263 \n",
"4 074 \n",
".. ... \n",
"61 164 \n",
"62 250 \n",
"63 072 \n",
"64 NaN \n",
"65 NaN \n",
"\n",
"[66 rows x 8 columns]"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.match4"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>phase_no</th>\n",
" <th>ring_type</th>\n",
" <th>move_no</th>\n",
" <th>inc_dire</th>\n",
" <th>out_dire</th>\n",
" <th>inc_angle</th>\n",
" <th>out_angle</th>\n",
" <th>inc_edge_id</th>\n",
" <th>out_edge_id</th>\n",
" <th>node_id</th>\n",
" <th>node_type</th>\n",
" <th>turn_type</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>436</td>\n",
" <td>1</td>\n",
" <td>A</td>\n",
" <td>5</td>\n",
" <td>서</td>\n",
" <td>북</td>\n",
" <td>262</td>\n",
" <td>358</td>\n",
" <td>517505</td>\n",
" <td>517507</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>left</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>436</td>\n",
" <td>1</td>\n",
" <td>B</td>\n",
" <td>2</td>\n",
" <td>서</td>\n",
" <td>동</td>\n",
" <td>262</td>\n",
" <td>074</td>\n",
" <td>517505</td>\n",
" <td>517004</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>436</td>\n",
" <td>2</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" <td>남</td>\n",
" <td>북</td>\n",
" <td>174</td>\n",
" <td>355</td>\n",
" <td>517509</td>\n",
" <td>517507</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>436</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>3</td>\n",
" <td>남</td>\n",
" <td>서</td>\n",
" <td>172</td>\n",
" <td>263</td>\n",
" <td>517509</td>\n",
" <td>517504</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>left</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>436</td>\n",
" <td>3</td>\n",
" <td>A</td>\n",
" <td>7</td>\n",
" <td>북</td>\n",
" <td>동</td>\n",
" <td>356</td>\n",
" <td>074</td>\n",
" <td>517002</td>\n",
" <td>517004</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>left</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>61</th>\n",
" <td>457</td>\n",
" <td>5</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" <td>북</td>\n",
" <td>남</td>\n",
" <td>344</td>\n",
" <td>164</td>\n",
" <td>513158</td>\n",
" <td>513153</td>\n",
" <td>106234</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td>458</td>\n",
" <td>1</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" <td>남</td>\n",
" <td>북</td>\n",
" <td>073</td>\n",
" <td>250</td>\n",
" <td>513193</td>\n",
" <td>513188</td>\n",
" <td>106238</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63</th>\n",
" <td>458</td>\n",
" <td>1</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" <td>북</td>\n",
" <td>남</td>\n",
" <td>249</td>\n",
" <td>072</td>\n",
" <td>513189</td>\n",
" <td>513192</td>\n",
" <td>106238</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>64</th>\n",
" <td>458</td>\n",
" <td>2</td>\n",
" <td>A</td>\n",
" <td>17</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>106238</td>\n",
" <td>normal</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>65</th>\n",
" <td>458</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>17</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>106238</td>\n",
" <td>normal</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>66 rows × 13 columns</p>\n",
"</div>"
],
"text/plain": [
" inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
"0 436 1 A 5 서 북 262 \n",
"1 436 1 B 2 서 동 262 \n",
"2 436 2 A 8 남 북 174 \n",
"3 436 2 B 3 남 서 172 \n",
"4 436 3 A 7 북 동 356 \n",
".. ... ... ... ... ... ... ... \n",
"61 457 5 B 4 북 남 344 \n",
"62 458 1 A 8 남 북 073 \n",
"63 458 1 B 4 북 남 249 \n",
"64 458 2 A 17 NaN NaN NaN \n",
"65 458 2 B 17 NaN NaN NaN \n",
"\n",
" out_angle inc_edge_id out_edge_id node_id node_type turn_type \n",
"0 358 517505 517507 109836 normal left \n",
"1 074 517505 517004 109836 normal straight \n",
"2 355 517509 517507 109836 normal straight \n",
"3 263 517509 517504 109836 normal left \n",
"4 074 517002 517004 109836 normal left \n",
".. ... ... ... ... ... ... \n",
"61 164 513158 513153 106234 normal straight \n",
"62 250 513193 513188 106238 normal straight \n",
"63 072 513189 513192 106238 normal straight \n",
"64 NaN NaN NaN 106238 normal NaN \n",
"65 NaN NaN NaN 106238 normal NaN \n",
"\n",
"[66 rows x 13 columns]"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.match5"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{''}"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"edge = self.net.getEdges()[0]\n",
"gfs = set()\n",
"for edge in self.net.getEdges():\n",
" gfs.add(edge.getFunction())\n",
"gfs"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>phase_no</th>\n",
" <th>ring_type</th>\n",
" <th>move_no</th>\n",
" <th>inc_dire</th>\n",
" <th>out_dire</th>\n",
" <th>inc_angle</th>\n",
" <th>out_angle</th>\n",
" <th>inc_edge_id</th>\n",
" <th>out_edge_id</th>\n",
" <th>node_id</th>\n",
" <th>node_type</th>\n",
" <th>turn_type</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>436</td>\n",
" <td>1</td>\n",
" <td>A</td>\n",
" <td>5</td>\n",
" <td>서</td>\n",
" <td>북</td>\n",
" <td>262</td>\n",
" <td>358</td>\n",
" <td>517505</td>\n",
" <td>517507</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>left</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>436</td>\n",
" <td>1</td>\n",
" <td>B</td>\n",
" <td>2</td>\n",
" <td>서</td>\n",
" <td>동</td>\n",
" <td>262</td>\n",
" <td>074</td>\n",
" <td>517505</td>\n",
" <td>517004</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>436</td>\n",
" <td>2</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" <td>남</td>\n",
" <td>북</td>\n",
" <td>174</td>\n",
" <td>355</td>\n",
" <td>517509</td>\n",
" <td>517507</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>436</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>3</td>\n",
" <td>남</td>\n",
" <td>서</td>\n",
" <td>172</td>\n",
" <td>263</td>\n",
" <td>517509</td>\n",
" <td>517504</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>left</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>436</td>\n",
" <td>3</td>\n",
" <td>A</td>\n",
" <td>7</td>\n",
" <td>북</td>\n",
" <td>동</td>\n",
" <td>356</td>\n",
" <td>074</td>\n",
" <td>517002</td>\n",
" <td>517004</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>left</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>61</th>\n",
" <td>457</td>\n",
" <td>5</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" <td>북</td>\n",
" <td>남</td>\n",
" <td>344</td>\n",
" <td>164</td>\n",
" <td>513158</td>\n",
" <td>513153</td>\n",
" <td>106234</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>62</th>\n",
" <td>458</td>\n",
" <td>1</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" <td>남</td>\n",
" <td>북</td>\n",
" <td>073</td>\n",
" <td>250</td>\n",
" <td>513193</td>\n",
" <td>513188</td>\n",
" <td>106238</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63</th>\n",
" <td>458</td>\n",
" <td>1</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" <td>북</td>\n",
" <td>남</td>\n",
" <td>249</td>\n",
" <td>072</td>\n",
" <td>513189</td>\n",
" <td>513192</td>\n",
" <td>106238</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>64</th>\n",
" <td>458</td>\n",
" <td>2</td>\n",
" <td>A</td>\n",
" <td>17</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>106238</td>\n",
" <td>normal</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>65</th>\n",
" <td>458</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>17</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>106238</td>\n",
" <td>normal</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>66 rows × 13 columns</p>\n",
"</div>"
],
"text/plain": [
" inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
"0 436 1 A 5 서 북 262 \n",
"1 436 1 B 2 서 동 262 \n",
"2 436 2 A 8 남 북 174 \n",
"3 436 2 B 3 남 서 172 \n",
"4 436 3 A 7 북 동 356 \n",
".. ... ... ... ... ... ... ... \n",
"61 457 5 B 4 북 남 344 \n",
"62 458 1 A 8 남 북 073 \n",
"63 458 1 B 4 북 남 249 \n",
"64 458 2 A 17 NaN NaN NaN \n",
"65 458 2 B 17 NaN NaN NaN \n",
"\n",
" out_angle inc_edge_id out_edge_id node_id node_type turn_type \n",
"0 358 517505 517507 109836 normal left \n",
"1 074 517505 517004 109836 normal straight \n",
"2 355 517509 517507 109836 normal straight \n",
"3 263 517509 517504 109836 normal left \n",
"4 074 517002 517004 109836 normal left \n",
".. ... ... ... ... ... ... \n",
"61 164 513158 513153 106234 normal straight \n",
"62 250 513193 513188 106238 normal straight \n",
"63 072 513189 513192 106238 normal straight \n",
"64 NaN NaN NaN 106238 normal NaN \n",
"65 NaN NaN NaN 106238 normal NaN \n",
"\n",
"[66 rows x 13 columns]"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.match5"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>inter_no</th>\n",
" <th>phase_no</th>\n",
" <th>ring_type</th>\n",
" <th>move_no</th>\n",
" <th>inc_dire</th>\n",
" <th>out_dire</th>\n",
" <th>inc_angle</th>\n",
" <th>out_angle</th>\n",
" <th>inc_edge_id</th>\n",
" <th>out_edge_id</th>\n",
" <th>node_id</th>\n",
" <th>node_type</th>\n",
" <th>turn_type</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>436</td>\n",
" <td>1</td>\n",
" <td>A</td>\n",
" <td>5</td>\n",
" <td>서</td>\n",
" <td>북</td>\n",
" <td>262</td>\n",
" <td>358</td>\n",
" <td>517505</td>\n",
" <td>517507</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>left</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>436</td>\n",
" <td>1</td>\n",
" <td>B</td>\n",
" <td>2</td>\n",
" <td>서</td>\n",
" <td>동</td>\n",
" <td>262</td>\n",
" <td>074</td>\n",
" <td>517505</td>\n",
" <td>517004</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>436</td>\n",
" <td>2</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" <td>남</td>\n",
" <td>북</td>\n",
" <td>174</td>\n",
" <td>355</td>\n",
" <td>517509</td>\n",
" <td>517507</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>436</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>3</td>\n",
" <td>남</td>\n",
" <td>서</td>\n",
" <td>172</td>\n",
" <td>263</td>\n",
" <td>517509</td>\n",
" <td>517504</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>left</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>436</td>\n",
" <td>3</td>\n",
" <td>A</td>\n",
" <td>7</td>\n",
" <td>북</td>\n",
" <td>동</td>\n",
" <td>356</td>\n",
" <td>074</td>\n",
" <td>517002</td>\n",
" <td>517004</td>\n",
" <td>109836</td>\n",
" <td>normal</td>\n",
" <td>left</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>111</th>\n",
" <td>457</td>\n",
" <td>5</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" <td>북</td>\n",
" <td>남</td>\n",
" <td>344</td>\n",
" <td>164</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>109297</td>\n",
" <td>u_turn</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>112</th>\n",
" <td>458</td>\n",
" <td>1</td>\n",
" <td>A</td>\n",
" <td>8</td>\n",
" <td>남</td>\n",
" <td>북</td>\n",
" <td>073</td>\n",
" <td>250</td>\n",
" <td>513193</td>\n",
" <td>513188</td>\n",
" <td>106238</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>113</th>\n",
" <td>458</td>\n",
" <td>1</td>\n",
" <td>B</td>\n",
" <td>4</td>\n",
" <td>북</td>\n",
" <td>남</td>\n",
" <td>249</td>\n",
" <td>072</td>\n",
" <td>513189</td>\n",
" <td>513192</td>\n",
" <td>106238</td>\n",
" <td>normal</td>\n",
" <td>straight</td>\n",
" </tr>\n",
" <tr>\n",
" <th>114</th>\n",
" <td>458</td>\n",
" <td>2</td>\n",
" <td>A</td>\n",
" <td>17</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>106238</td>\n",
" <td>normal</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>115</th>\n",
" <td>458</td>\n",
" <td>2</td>\n",
" <td>B</td>\n",
" <td>17</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>106238</td>\n",
" <td>normal</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>116 rows × 13 columns</p>\n",
"</div>"
],
"text/plain": [
" inter_no phase_no ring_type move_no inc_dire out_dire inc_angle \\\n",
"0 436 1 A 5 서 북 262 \n",
"1 436 1 B 2 서 동 262 \n",
"2 436 2 A 8 남 북 174 \n",
"3 436 2 B 3 남 서 172 \n",
"4 436 3 A 7 북 동 356 \n",
".. ... ... ... ... ... ... ... \n",
"111 457 5 B 4 북 남 344 \n",
"112 458 1 A 8 남 북 073 \n",
"113 458 1 B 4 북 남 249 \n",
"114 458 2 A 17 NaN NaN NaN \n",
"115 458 2 B 17 NaN NaN NaN \n",
"\n",
" out_angle inc_edge_id out_edge_id node_id node_type turn_type \n",
"0 358 517505 517507 109836 normal left \n",
"1 074 517505 517004 109836 normal straight \n",
"2 355 517509 517507 109836 normal straight \n",
"3 263 517509 517504 109836 normal left \n",
"4 074 517002 517004 109836 normal left \n",
".. ... ... ... ... ... ... \n",
"111 164 None None 109297 u_turn straight \n",
"112 250 513193 513188 106238 normal straight \n",
"113 072 513189 513192 106238 normal straight \n",
"114 NaN NaN NaN 106238 normal NaN \n",
"115 NaN NaN NaN 106238 normal NaN \n",
"\n",
"[116 rows x 13 columns]"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"self.match6"
]
}
],
"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
}