From a287d7626d3ae681d2a65dcb87f477779b377544 Mon Sep 17 00:00:00 2001 From: govin08 Date: Wed, 17 Apr 2024 16:38:40 +0900 Subject: [PATCH] tested generate_signals throughout for last modifications --- .../0417_generate_signals.ipynb | 480 ++++++++++++------ .../generate_signals.cpython-38.pyc | Bin 26041 -> 25592 bytes .../preprocess_daily.cpython-38.pyc | Bin 30298 -> 30287 bytes 3 files changed, 321 insertions(+), 159 deletions(-) diff --git a/Analysis/0411_unp-left_p-right-uturn/0417_generate_signals.ipynb b/Analysis/0411_unp-left_p-right-uturn/0417_generate_signals.ipynb index d200d3e3f..37dbc02ef 100644 --- a/Analysis/0411_unp-left_p-right-uturn/0417_generate_signals.ipynb +++ b/Analysis/0411_unp-left_p-right-uturn/0417_generate_signals.ipynb @@ -18,7 +18,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -40,33 +40,34 @@ "self.process_history() # 2\n", "self.process_movement() # 3\n", "self.make_histids() # 4\n", - "self.set_timepoints()" + "self.set_timepoints() # 5-1\n", + "self.assign_red_yellow() # 5-2" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 19, "metadata": {}, "outputs": [ { - "ename": "AttributeError", - "evalue": "'SignalGenerator' object has no attribute 'ids'", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[1;32mIn[14], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mids\u001b[49m\n", - "\u001b[1;31mAttributeError\u001b[0m: 'SignalGenerator' object has no attribute 'ids'" + "name": "stdout", + "output_type": "stream", + "text": [ + "['i0', 'i1', 'i2', 'i3', 'i6', 'i7', 'i8', 'i9']\n", + "['u00', 'u20', 'u30', 'u31', 'u32', 'u60']\n", + "['c30']\n" ] } ], "source": [ - "self.ids" + "print(self.parent_ids)\n", + "print(self.uturn_ids)\n", + "print(self.coord_ids)" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 37, "metadata": {}, "outputs": [ { @@ -90,212 +91,373 @@ " \n", " \n", " \n", - " inter_no\n", " node_id\n", " start_unix\n", - " phas_A\n", - " phas_B\n", - " move_A\n", - " move_B\n", + " phase\n", " duration\n", - " state_A\n", - " state_B\n", + " state\n", " \n", " \n", " \n", " \n", " 0\n", - " 175\n", " i0\n", - " 1704415810\n", - " 1\n", - " 1\n", - " 8\n", - " 4\n", - " 43\n", - " grrrgrrrgGGGGrgrr\n", - " gGGrgrrrgrrrrrgrr\n", + " 1704418150\n", + " 1g_1g\n", + " 39\n", + " gGGrgrrrgGGGGrgrr\n", " \n", " \n", " 1\n", - " 175\n", " i0\n", - " 1704415810\n", - " 2\n", - " 2\n", - " 7\n", - " 3\n", - " 45\n", - " grrGgrrrgrrrrrgrr\n", - " grrrgrrrgrrrrGgrr\n", + " 1704418150\n", + " 1y_1y\n", + " 4\n", + " gyyrgrrrgyyyyrgrr\n", " \n", " \n", " 2\n", - " 175\n", " i0\n", - " 1704415810\n", - " 3\n", - " 3\n", - " 6\n", + " 1704418150\n", + " 2r_2r\n", " 1\n", - " 33\n", - " grrrgGGrgrrrrrgrr\n", - " grrrgrrGgrrrrrgrr\n", + " grrrgrrrgrrrrrgrr\n", " \n", " \n", " 3\n", - " 175\n", " i0\n", - " 1704415810\n", - " 3\n", + " 1704418150\n", + " 2g_2g\n", + " 40\n", + " grrGgrrrgrrrrGgrr\n", + " \n", + " \n", + " 4\n", + " i0\n", + " 1704418150\n", + " 2y_2y\n", " 4\n", - " 6\n", - " 2\n", - " 22\n", + " grrygrrrgrrrrygrr\n", + " \n", + " \n", + " 5\n", + " i0\n", + " 1704418150\n", + " 3r_3r\n", + " 1\n", " grrrgGGrgrrrrrgrr\n", - " grrrgrrrgrrrrrgGr\n", " \n", " \n", - " 4\n", - " 175\n", + " 6\n", + " i0\n", + " 1704418150\n", + " 3g_3g\n", + " 28\n", + " grrrgGGGgrrrrrgrr\n", + " \n", + " \n", + " 7\n", " i0\n", - " 1704415810\n", + " 1704418150\n", + " 3g_3y\n", " 4\n", + " grrrgGGygrrrrrgrr\n", + " \n", + " \n", + " 8\n", + " i0\n", + " 1704418150\n", + " 3g_4r\n", + " 1\n", + " grrrgGGrgrrrrrgGr\n", + " \n", + " \n", + " 9\n", + " i0\n", + " 1704418150\n", + " 3g_4g\n", + " 17\n", + " grrrgGGrgrrrrrgGr\n", + " \n", + " \n", + " 10\n", + " i0\n", + " 1704418150\n", + " 3y_4g\n", " 4\n", - " 5\n", - " 2\n", - " 37\n", - " grrrgrrrgrrrrrgrG\n", + " grrrgyyrgrrrrrgGr\n", + " \n", + " \n", + " 11\n", + " i0\n", + " 1704418150\n", + " 4r_4g\n", + " 1\n", " grrrgrrrgrrrrrgGr\n", " \n", " \n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", + " 12\n", + " i0\n", + " 1704418150\n", + " 4g_4g\n", + " 32\n", + " grrrgrrrgrrrrrgGG\n", + " \n", + " \n", + " 13\n", + " i0\n", + " 1704418150\n", + " 4y_4y\n", + " 4\n", + " grrrgrrrgrrrrrgyy\n", " \n", " \n", - " 387\n", - " 210\n", - " u60\n", - " 1704416820\n", + " 14\n", + " i0\n", + " 1704418330\n", + " 1r_1r\n", " 1\n", + " grrrgrrrgrrrrrgrr\n", + " \n", + " \n", + " 15\n", + " i0\n", + " 1704418330\n", + " 1g_1g\n", + " 38\n", + " gGGrgrrrgGGGGrgrr\n", + " \n", + " \n", + " 16\n", + " i0\n", + " 1704418330\n", + " 1y_1y\n", + " 4\n", + " gyyrgrrrgyyyyrgrr\n", + " \n", + " \n", + " 17\n", + " i0\n", + " 1704418330\n", + " 2r_2r\n", " 1\n", - " 6\n", - " 18\n", - " 25\n", - " GGGGGGGGr\n", - " GGGGGGGGr\n", + " grrrgrrrgrrrrrgrr\n", + " \n", + " \n", + " 18\n", + " i0\n", + " 1704418330\n", + " 2g_2g\n", + " 40\n", + " grrGgrrrgrrrrGgrr\n", " \n", " \n", - " 388\n", - " 210\n", - " u60\n", - " 1704416820\n", + " 19\n", + " i0\n", + " 1704418330\n", + " 2y_2y\n", + " 4\n", + " grrygrrrgrrrrygrr\n", + " \n", + " \n", + " 20\n", + " i0\n", + " 1704418330\n", + " 3r_3r\n", " 1\n", - " 2\n", - " 6\n", - " 2\n", - " 13\n", - " GGGGGGGGr\n", - " GGGGGGGGr\n", - " \n", - " \n", - " 389\n", - " 210\n", - " u60\n", - " 1704416820\n", - " 2\n", - " 2\n", - " 5\n", - " 2\n", - " 38\n", - " GGGGGGGGG\n", - " GGGGGGGGr\n", + " grrrgGGrgrrrrrgrr\n", + " \n", + " \n", + " 21\n", + " i0\n", + " 1704418330\n", + " 3g_3g\n", + " 28\n", + " grrrgGGGgrrrrrgrr\n", + " \n", + " \n", + " 22\n", + " i0\n", + " 1704418330\n", + " 3g_3y\n", + " 4\n", + " grrrgGGygrrrrrgrr\n", + " \n", + " \n", + " 23\n", + " i0\n", + " 1704418330\n", + " 3g_4r\n", + " 1\n", + " grrrgGGrgrrrrrgGr\n", + " \n", + " \n", + " 24\n", + " i0\n", + " 1704418330\n", + " 3g_4g\n", + " 17\n", + " grrrgGGrgrrrrrgGr\n", + " \n", + " \n", + " 25\n", + " i0\n", + " 1704418330\n", + " 3y_4g\n", + " 4\n", + " grrrgyyrgrrrrrgGr\n", + " \n", + " \n", + " 26\n", + " i0\n", + " 1704418330\n", + " 4r_4g\n", + " 1\n", + " grrrgrrrgrrrrrgGr\n", + " \n", + " \n", + " 27\n", + " i0\n", + " 1704418330\n", + " 4g_4g\n", + " 32\n", + " grrrgrrrgrrrrrgGG\n", " \n", " \n", - " 390\n", - " 210\n", - " u60\n", - " 1704416820\n", - " 3\n", - " 3\n", - " 7\n", + " 28\n", + " i0\n", + " 1704418330\n", + " 4y_4y\n", " 4\n", - " 62\n", - " GGGGGGGGr\n", - " GGGGGGGGr\n", + " grrrgrrrgrrrrrgyy\n", + " \n", + " \n", + " 29\n", + " i0\n", + " 1704418510\n", + " 1r_1r\n", + " 1\n", + " grrrgrrrgrrrrrgrr\n", + " \n", + " \n", + " 30\n", + " i0\n", + " 1704418510\n", + " 1g_1g\n", + " 38\n", + " gGGrgrrrgGGGGrgrr\n", " \n", " \n", - " 391\n", - " 210\n", - " u60\n", - " 1704416820\n", + " 31\n", + " i0\n", + " 1704418510\n", + " 1y_1y\n", " 4\n", + " gyyrgrrrgyyyyrgrr\n", + " \n", + " \n", + " 32\n", + " i0\n", + " 1704418510\n", + " 2r_2r\n", + " 1\n", + " grrrgrrrgrrrrrgrr\n", + " \n", + " \n", + " 33\n", + " i0\n", + " 1704418510\n", + " 2g_2g\n", + " 40\n", + " grrGgrrrgrrrrGgrr\n", + " \n", + " \n", + " 34\n", + " i0\n", + " 1704418510\n", + " 2y_2y\n", " 4\n", - " 8\n", - " 3\n", - " 21\n", - " GGGGGGGGr\n", - " GGGGGGGGr\n", + " grrygrrrgrrrrygrr\n", + " \n", + " \n", + " 35\n", + " i0\n", + " 1704418510\n", + " 3r_3r\n", + " 1\n", + " grrrgGGrgrrrrrgrr\n", + " \n", + " \n", + " 36\n", + " i0\n", + " 1704418510\n", + " 3g_3g\n", + " 28\n", + " grrrgGGGgrrrrrgrr\n", + " \n", + " \n", + " 37\n", + " i0\n", + " 1704418510\n", + " 3g_3y\n", + " 22\n", + " grrrgGGygrrrrrgrr\n", " \n", " \n", "\n", - "

392 rows × 10 columns

\n", "" ], "text/plain": [ - " inter_no node_id start_unix phas_A phas_B move_A move_B duration \\\n", - "0 175 i0 1704415810 1 1 8 4 43 \n", - "1 175 i0 1704415810 2 2 7 3 45 \n", - "2 175 i0 1704415810 3 3 6 1 33 \n", - "3 175 i0 1704415810 3 4 6 2 22 \n", - "4 175 i0 1704415810 4 4 5 2 37 \n", - ".. ... ... ... ... ... ... ... ... \n", - "387 210 u60 1704416820 1 1 6 18 25 \n", - "388 210 u60 1704416820 1 2 6 2 13 \n", - "389 210 u60 1704416820 2 2 5 2 38 \n", - "390 210 u60 1704416820 3 3 7 4 62 \n", - "391 210 u60 1704416820 4 4 8 3 21 \n", - "\n", - " state_A state_B \n", - "0 grrrgrrrgGGGGrgrr gGGrgrrrgrrrrrgrr \n", - "1 grrGgrrrgrrrrrgrr grrrgrrrgrrrrGgrr \n", - "2 grrrgGGrgrrrrrgrr grrrgrrGgrrrrrgrr \n", - "3 grrrgGGrgrrrrrgrr grrrgrrrgrrrrrgGr \n", - "4 grrrgrrrgrrrrrgrG grrrgrrrgrrrrrgGr \n", - ".. ... ... \n", - "387 GGGGGGGGr GGGGGGGGr \n", - "388 GGGGGGGGr GGGGGGGGr \n", - "389 GGGGGGGGG GGGGGGGGr \n", - "390 GGGGGGGGr GGGGGGGGr \n", - "391 GGGGGGGGr GGGGGGGGr \n", - "\n", - "[392 rows x 10 columns]" + " node_id start_unix phase duration state\n", + "0 i0 1704418150 1g_1g 39 gGGrgrrrgGGGGrgrr\n", + "1 i0 1704418150 1y_1y 4 gyyrgrrrgyyyyrgrr\n", + "2 i0 1704418150 2r_2r 1 grrrgrrrgrrrrrgrr\n", + "3 i0 1704418150 2g_2g 40 grrGgrrrgrrrrGgrr\n", + "4 i0 1704418150 2y_2y 4 grrygrrrgrrrrygrr\n", + "5 i0 1704418150 3r_3r 1 grrrgGGrgrrrrrgrr\n", + "6 i0 1704418150 3g_3g 28 grrrgGGGgrrrrrgrr\n", + "7 i0 1704418150 3g_3y 4 grrrgGGygrrrrrgrr\n", + "8 i0 1704418150 3g_4r 1 grrrgGGrgrrrrrgGr\n", + "9 i0 1704418150 3g_4g 17 grrrgGGrgrrrrrgGr\n", + "10 i0 1704418150 3y_4g 4 grrrgyyrgrrrrrgGr\n", + "11 i0 1704418150 4r_4g 1 grrrgrrrgrrrrrgGr\n", + "12 i0 1704418150 4g_4g 32 grrrgrrrgrrrrrgGG\n", + "13 i0 1704418150 4y_4y 4 grrrgrrrgrrrrrgyy\n", + "14 i0 1704418330 1r_1r 1 grrrgrrrgrrrrrgrr\n", + "15 i0 1704418330 1g_1g 38 gGGrgrrrgGGGGrgrr\n", + "16 i0 1704418330 1y_1y 4 gyyrgrrrgyyyyrgrr\n", + "17 i0 1704418330 2r_2r 1 grrrgrrrgrrrrrgrr\n", + "18 i0 1704418330 2g_2g 40 grrGgrrrgrrrrGgrr\n", + "19 i0 1704418330 2y_2y 4 grrygrrrgrrrrygrr\n", + "20 i0 1704418330 3r_3r 1 grrrgGGrgrrrrrgrr\n", + "21 i0 1704418330 3g_3g 28 grrrgGGGgrrrrrgrr\n", + "22 i0 1704418330 3g_3y 4 grrrgGGygrrrrrgrr\n", + "23 i0 1704418330 3g_4r 1 grrrgGGrgrrrrrgGr\n", + "24 i0 1704418330 3g_4g 17 grrrgGGrgrrrrrgGr\n", + "25 i0 1704418330 3y_4g 4 grrrgyyrgrrrrrgGr\n", + "26 i0 1704418330 4r_4g 1 grrrgrrrgrrrrrgGr\n", + "27 i0 1704418330 4g_4g 32 grrrgrrrgrrrrrgGG\n", + "28 i0 1704418330 4y_4y 4 grrrgrrrgrrrrrgyy\n", + "29 i0 1704418510 1r_1r 1 grrrgrrrgrrrrrgrr\n", + "30 i0 1704418510 1g_1g 38 gGGrgrrrgGGGGrgrr\n", + "31 i0 1704418510 1y_1y 4 gyyrgrrrgyyyyrgrr\n", + "32 i0 1704418510 2r_2r 1 grrrgrrrgrrrrrgrr\n", + "33 i0 1704418510 2g_2g 40 grrGgrrrgrrrrGgrr\n", + "34 i0 1704418510 2y_2y 4 grrygrrrgrrrrygrr\n", + "35 i0 1704418510 3r_3r 1 grrrgGGrgrrrrrgrr\n", + "36 i0 1704418510 3g_3g 28 grrrgGGGgrrrrrgrr\n", + "37 i0 1704418510 3g_3y 22 grrrgGGygrrrrrgrr" ] }, - "execution_count": 10, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "self.histids" + "node_id = self.parent_ids[0]\n", + "self.SIGTABLE[self.SIGTABLE.node_id==node_id]" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/Scripts/__pycache__/generate_signals.cpython-38.pyc b/Scripts/__pycache__/generate_signals.cpython-38.pyc index 566e14de0e357995b7741a06d2279c0efe95ede5..8820c1c565f442edfbb07c2af89a0523f6a55127 100644 GIT binary patch delta 2742 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�Z~}=$cAj z;8M#TH>ucBv8S}7VgtpW4~97p)c7q=+?*EU(`3yDzQ#^I_&)hDTd}=@eXCzCE#h8~ zre6N9pC#-M{g)Rq($va6Y3%&Gi&JE3RmOGLHt#mvr+rvw++j&|tDXs4Sehz3L*_k3 zx$0GY$EA#?PkM|zM)a#(FPL$KrFris7N;xDNZjYtqqce9yg%cg3aL`YdxHB={S^|{ z8LwJYA*s@d1!Rbm3g zp(sYHxM$9^X=s#J^FDa40${va&T+h8@;YLncdv8WkIw7 z=C{1o@(k_jAMWmXXa{`>dwrR6E$6JM(PO#XiCh_Q{i zL5C5bc+te0B!=+k2=8UfsZS=xjodSM9;$_R1yfKAbIZ9))JDv7G>sh0jabnq15nGA z4fdZE<}C-v%$fz^Gkerg{23d$UcAIEXMkt(a@U1a4ou4Y(0kM zS@;rlYG;p+?hc^Y=(C?#$e(5W;IjNPF=H~C&~;PO z>7UrSv3mY8-x|B$-gK3V6(??1GYxW!9Nj{j@^mX5&C{Fc9P5e6EpK4+D}X-(R&fPd z4yXmx0~!JQ0gnI_b}DusX=CSNFQ&04y#x@&ybS6ifCWGlbS0n+fI#R*Kpmg~AWB_$ zF+`~mB*p!q$SXxU=p5iHZ0XS6;_5(YV1;L!$LFc^bhEB_7g=QU@lg3cuqEaW%|KcF RJcUICdpX|h9P{uS_b8uqcyH+qsdKgNu=KvkX@(BNJ=s<{IumQ9cf!BqtC%199<+ z&9@b@8O>@K;-yPuN@TO-7Rc8yWGSSGEo4d&Z)WNjsbw!wT%ZILldfT3$i&DH&S1(A z$PmO3!BC<+xkBk2ktz5u*i#ao;c(Oo@+~iIb z9!8GI(^T9iKT-)|b8P%4s7JF=0NgNvO%IU_SCC4RFQS1cnlTWS2}Qtm)eK2D$- z5OxOQ;w77}C}cAl)v}jJm&jzvE|9BX$dXSHTga3m-ptf5RLfDKut2efy@q2U6C*=7 zgDFEGLl8p*Ly6MlQl)c@QIlPiiy4(C?@-nizQt77oV9@ToeX0yJ-I8kIDs; z>k8#~Z?UA5<`xvm14T7CCr?yyXJH1antWX)n3au9f>CU