diff --git a/1214_transition&offset.ipynb b/1214_transition&offset.ipynb index 8a52003..27d2378 100644 --- a/1214_transition&offset.ipynb +++ b/1214_transition&offset.ipynb @@ -70,7 +70,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\유아이네트웍스\\AppData\\Local\\Temp\\ipykernel_12484\\2359052046.py:15: DtypeWarning: Columns (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23) have mixed types. Specify dtype option on import or set low_memory=False.\n", + "C:\\Users\\유아이네트웍스\\AppData\\Local\\Temp\\ipykernel_15836\\2359052046.py:15: DtypeWarning: Columns (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23) have mixed types. Specify dtype option on import or set low_memory=False.\n", " soitdopermap3 = pd.read_csv('soitdopermap3.csv')\n" ] } @@ -160,6 +160,7 @@ "hstr_1213 = get_hstr('../1213/soitdspotintsoperhstr_202312131102.csv')\n", "hstr_1214 = get_hstr('../1214/soitdspotintsoperhstr_202312140852.csv')\n", "hstr = pd.concat([hstr_1211, hstr_1212, hstr_1213, hstr_1214]).drop_duplicates()\n", + "hstr = hstr[['현장교차로ID', '수집날짜시각', '주기시간', '옵셋시간', 'A링1현시시간', 'A링2현시시간', 'A링3현시시간', 'A링4현시시간', 'A링5현시시간', 'A링6현시시간']]\n", "hstr_5031 = hstr[hstr['현장교차로ID']==5031].sort_values(by='수집날짜시각').reset_index(drop=True)\n", "print('수집날짜시각 최대, 최소 : ')\n", "print('1211')\n", @@ -197,7 +198,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -232,7 +233,7 @@ "print(\"안정화된 수집시각의 차이\")\n", "print(pd.Series(differences).value_counts())\n", "print(\"처음 여섯 현시시각의 차이(L1 norm)\")\n", - "errors = [value for sublist in diffs.values() for value in sublist.values()]\n", + "errors = [value for sublist in error.values() for value in sublist.values()]\n", "print(pd.Series(errors).value_counts())" ] }, @@ -248,7 +249,7 @@ "5031\n", "06:00\n", "안정화된 수집시각의 차이 : -1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -682,7 +683,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 18\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 18\n", "18\n" ] }, @@ -1131,7 +1132,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : -1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 1\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 1\n", "1\n" ] }, @@ -1505,7 +1506,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -1910,7 +1911,7 @@ "5032\n", "06:00\n", "안정화된 수집시각의 차이 : -1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -2374,7 +2375,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -2808,7 +2809,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 47\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 47\n", "47\n" ] }, @@ -3212,7 +3213,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -3647,7 +3648,7 @@ "5033\n", "06:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -4111,7 +4112,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -4545,7 +4546,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 1\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 1\n", "1\n" ] }, @@ -4949,7 +4950,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -5384,7 +5385,7 @@ "5034\n", "05:30\n", "안정화된 수집시각의 차이 : -1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 31\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 31\n", "31\n" ] }, @@ -5803,7 +5804,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : -1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 52\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 52\n", "52\n" ] }, @@ -6192,7 +6193,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : -3\n", - "처음 여섯 현시시각의 차이(L1 norm) : 43\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 43\n", "43\n" ] }, @@ -6581,7 +6582,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -6986,7 +6987,7 @@ "5035\n", "05:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 5\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 5\n", "5\n" ] }, @@ -7390,7 +7391,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 2\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 2\n", "2\n" ] }, @@ -7824,7 +7825,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 1\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 1\n", "1\n" ] }, @@ -8198,7 +8199,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : -1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -8603,7 +8604,7 @@ "5036\n", "06:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 11\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 11\n", "11\n" ] }, @@ -9037,7 +9038,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 2\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 2\n", "2\n" ] }, @@ -9471,7 +9472,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 1\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 1\n", "1\n" ] }, @@ -9845,7 +9846,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 1\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 1\n", "1\n" ] }, @@ -10250,7 +10251,7 @@ "5037\n", "06:00\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 47\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 47\n", "47\n" ] }, @@ -10684,7 +10685,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 15\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 15\n", "15\n" ] }, @@ -11118,7 +11119,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -11522,7 +11523,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 29\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 29\n", "29\n" ] }, @@ -11927,7 +11928,7 @@ "5038\n", "06:00\n", "안정화된 수집시각의 차이 : -1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 64\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 64\n", "64\n" ] }, @@ -12361,7 +12362,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : -1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -12825,7 +12826,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : -1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -13229,7 +13230,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 42\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 42\n", "42\n" ] }, @@ -13634,7 +13635,7 @@ "5039\n", "06:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 38\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 38\n", "38\n" ] }, @@ -14068,7 +14069,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 35\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 35\n", "35\n" ] }, @@ -14502,7 +14503,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 6\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 6\n", "6\n" ] }, @@ -14906,7 +14907,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 78\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 78\n", "78\n" ] }, @@ -15311,7 +15312,7 @@ "5040\n", "06:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 22\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 22\n", "22\n" ] }, @@ -15745,7 +15746,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 29\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 29\n", "29\n" ] }, @@ -16179,7 +16180,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -16583,7 +16584,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -16988,7 +16989,7 @@ "5041\n", "06:00\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 30\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 30\n", "30\n" ] }, @@ -17422,7 +17423,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 32\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 32\n", "32\n" ] }, @@ -17856,7 +17857,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 3\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 3\n", "3\n" ] }, @@ -18260,7 +18261,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 72\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 72\n", "72\n" ] }, @@ -18665,7 +18666,7 @@ "5042\n", "06:00\n", "안정화된 수집시각의 차이 : -1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -19099,7 +19100,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : -1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -19503,7 +19504,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -19907,7 +19908,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -20312,7 +20313,7 @@ "5043\n", "06:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 20\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 20\n", "20\n" ] }, @@ -20746,7 +20747,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : -1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 31\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 31\n", "31\n" ] }, @@ -21180,7 +21181,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -21584,7 +21585,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 69\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 69\n", "69\n" ] }, @@ -21989,7 +21990,7 @@ "5044\n", "06:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 16\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 16\n", "16\n" ] }, @@ -22423,7 +22424,7 @@ "text": [ "06:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -22857,7 +22858,7 @@ "text": [ "07:00\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 1\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 1\n", "1\n" ] }, @@ -23231,7 +23232,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -23636,7 +23637,7 @@ "5045\n", "05:00\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -24070,7 +24071,7 @@ "text": [ "05:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -24444,7 +24445,7 @@ "text": [ "06:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -24788,7 +24789,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -25163,7 +25164,7 @@ "5046\n", "05:00\n", "안정화된 수집시각의 차이 : 3\n", - "처음 여섯 현시시각의 차이(L1 norm) : 3\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 3\n", "3\n" ] }, @@ -25597,7 +25598,7 @@ "text": [ "05:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 2\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 2\n", "2\n" ] }, @@ -26001,7 +26002,7 @@ "text": [ "06:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -26345,7 +26346,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 1\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 1\n", "1\n" ] }, @@ -26720,7 +26721,7 @@ "5047\n", "05:00\n", "안정화된 수집시각의 차이 : 2\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -27124,7 +27125,7 @@ "text": [ "05:30\n", "안정화된 수집시각의 차이 : 1\n", - "처음 여섯 현시시각의 차이(L1 norm) : 0\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 0\n", "0\n" ] }, @@ -27528,7 +27529,7 @@ "text": [ "06:00\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 56\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 56\n", "56\n" ] }, @@ -27872,7 +27873,7 @@ "text": [ "09:30\n", "안정화된 수집시각의 차이 : 0\n", - "처음 여섯 현시시각의 차이(L1 norm) : 17\n", + "처음 여섯 주기의 현시시간 차이(L1 norm) : 17\n", "17\n" ] }, @@ -28281,18 +28282,20 @@ " print(trans_time)\n", " hour, minute = trans_time.split(\":\")\n", " hour, minute = int(hour), int(minute)\n", - " df12 = hstr_temp[(hstr_temp['수집날짜시각']>=datetime(2023, 12, 12, hour, minute))&(hstr_temp['수집날짜시각']=datetime(2023, 12, 13, hour, minute))&(hstr_temp['수집날짜시각']=start_dt12)&(hstr_temp['수집날짜시각']=start_dt13)&(hstr_temp['수집날짜시각']\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
현장교차로ID수집날짜시각주기시간옵셋시간TOD옵셋계산한옵셋
47050392023-12-12 06:28:001608012580
46950402023-12-12 06:28:131609413593
47050412023-12-12 06:28:091608913589
47150422023-12-12 06:28:111609212591
47050432023-12-12 06:28:001608012080
47050442023-12-12 06:28:20160100140100
\n", + "" + ], + "text/plain": [ + " 현장교차로ID 수집날짜시각 주기시간 옵셋시간 TOD옵셋 계산한옵셋\n", + "470 5039 2023-12-12 06:28:00 160 80 125 80\n", + "469 5040 2023-12-12 06:28:13 160 94 135 93\n", + "470 5041 2023-12-12 06:28:09 160 89 135 89\n", + "471 5042 2023-12-12 06:28:11 160 92 125 91\n", + "470 5043 2023-12-12 06:28:00 160 80 120 80\n", + "470 5044 2023-12-12 06:28:20 160 100 140 100" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 교차로군 43\n", + "# 12일, 13일의 시각대 6:00 ~ 6:30에 대한 수준은 2, 주기는 160으로 일정\n", + "h39 = hstrs[5039]['06:00'][12]\n", + "h40 = hstrs[5040]['06:00'][12]\n", + "h41 = hstrs[5041]['06:00'][12]\n", + "h42 = hstrs[5042]['06:00'][12]\n", + "h43 = hstrs[5043]['06:00'][12]\n", + "h44 = hstrs[5044]['06:00'][12]\n", + "TOD옵셋s = [125, 135, 135, 125, 120, 140]\n", + "lasts = pd.DataFrame([h39.iloc[-1,:4], h40.iloc[-1,:4], h41.iloc[-1,:4], h42.iloc[-1,:4], h43.iloc[-1,:4], h44.iloc[-1,:4]])\n", + "lasts['TOD옵셋'] = TOD옵셋s\n", + "midnight = datetime(2023, 12, 12)\n", + "lasts['계산한옵셋'] = (lasts['수집날짜시각'] - midnight).map(lambda x:int(x.total_seconds())%160)\n", + "lasts" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "# 특이한 경우(처음 두 주기 동안은 일정해야 하는데 그렇지 않은 경우)를 판별하기 위한 코드\n", + "# vs code가 자꾸 다운돼서 비활성화함.\n", + "\n", + "# from datetime import datetime\n", + "\n", + "# hstrs = {}\n", + "# diffs = {}\n", + "# erros = {}\n", + "# for inter_no in inter2trans_times:\n", + "# print(inter_no)\n", + "# hstr_temp = hstr[hstr['현장교차로ID']==inter_no].sort_values(by='수집날짜시각').reset_index(drop=True)\n", + "# hstr_temp = hstr_temp[['현장교차로ID', '수집날짜시각', '주기시간', '옵셋시간',\n", + "# 'A링1현시시간', 'A링2현시시간', 'A링3현시시간', 'A링4현시시간', 'A링5현시시간', 'A링6현시시간']]\n", + "# trans_times = inter2trans_times[inter_no]\n", + "# hstrs[inter_no] = {}\n", + "# diffs[inter_no] = {}\n", + "# erros[inter_no] = {}\n", + "# for trans_time in trans_times:\n", + "# hstrs[inter_no][trans_time] = {}\n", + "# diffs[inter_no][trans_time] = {}\n", + "# erros[inter_no][trans_time] = {}\n", + "# print(trans_time)\n", + "# hour, minute = trans_time.split(\":\")\n", + "# hour, minute = int(hour), int(minute)\n", + "# start_dt12 = datetime(2023, 12, 12, hour, minute)\n", + "# start_dt13 = datetime(2023, 12, 13, hour, minute)\n", + "# df12 = hstr_temp[(hstr_temp['수집날짜시각']>=start_dt12 - timedelta(minutes=10))&(hstr_temp['수집날짜시각']=start_dt13 - timedelta(minutes=10))&(hstr_temp['수집날짜시각']