diff --git a/COG-Modeling-Data/Split Furnaces-Copy1.ipynb b/COG-Modeling-Data/Split Furnaces-Copy1.ipynb index 044eeb9..d24f717 100644 --- a/COG-Modeling-Data/Split Furnaces-Copy1.ipynb +++ b/COG-Modeling-Data/Split Furnaces-Copy1.ipynb @@ -3,11 +3,11 @@ { "cell_type": "code", "execution_count": 1, - "id": "8851625c", + "id": "5fb8de0b", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T02:36:29.690781Z", - "start_time": "2023-04-03T02:36:28.513380Z" + "end_time": "2023-04-11T09:08:45.507592Z", + "start_time": "2023-04-11T09:08:44.371863Z" } }, "outputs": [], @@ -19,7 +19,35 @@ "from matplotlib import pyplot as plt\n", "%matplotlib widget\n", "\n", - "import seaborn as sns" + "import seaborn as sns\n", + "\n", + "pd.options.display.max_columns = None" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "bc64276d", + "metadata": { + "ExecuteTime": { + "end_time": "2023-04-11T09:08:45.526482Z", + "start_time": "2023-04-11T09:08:45.509591Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "'1.4.2'" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.__version__" ] }, { @@ -30,14 +58,22 @@ "# D1 COG 사용량" ] }, + { + "cell_type": "markdown", + "id": "3bd00b71", + "metadata": {}, + "source": [ + "영문/한글 태그 헤더, 탭으로 열 구분, 데이터 전후 공백, 날짜/시간 열 지정" + ] + }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "dab870c3", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T02:36:30.034646Z", - "start_time": "2023-04-03T02:36:29.703173Z" + "end_time": "2023-04-11T09:08:45.853406Z", + "start_time": "2023-04-11T09:08:45.527520Z" } }, "outputs": [], @@ -47,12 +83,12 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "39f50fee", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T02:36:40.800243Z", - "start_time": "2023-04-03T02:36:40.787823Z" + "end_time": "2023-04-11T09:08:45.868366Z", + "start_time": "2023-04-11T09:08:45.855405Z" } }, "outputs": [ @@ -77,7 +113,7 @@ " )" ] }, - "execution_count": 3, + "execution_count": 4, "metadata": {}, "output_type": "execute_result" } @@ -86,14 +122,22 @@ "cog_usage.columns" ] }, + { + "cell_type": "markdown", + "id": "5dc35ec3", + "metadata": {}, + "source": [ + "Column index에서 영문만 남김" + ] + }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "7cb59282", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T02:38:10.231519Z", - "start_time": "2023-04-03T02:38:10.217523Z" + "end_time": "2023-04-11T09:08:45.883322Z", + "start_time": "2023-04-11T09:08:45.869360Z" } }, "outputs": [], @@ -102,14 +146,22 @@ "cog_usage.columns = a" ] }, + { + "cell_type": "markdown", + "id": "a2779c1a", + "metadata": {}, + "source": [ + "## FCE_NUM 기준으로 Dataframe 분리" + ] + }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "id": "50e71feb", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T02:38:32.571174Z", - "start_time": "2023-04-03T02:38:32.563193Z" + "end_time": "2023-04-11T09:08:45.889480Z", + "start_time": "2023-04-11T09:08:45.884320Z" } }, "outputs": [], @@ -119,12 +171,12 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "id": "b6b5ea49", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T02:38:32.887437Z", - "start_time": "2023-04-03T02:38:32.841448Z" + "end_time": "2023-04-11T09:08:45.945504Z", + "start_time": "2023-04-11T09:08:45.889480Z" }, "scrolled": false }, @@ -133,14 +185,22 @@ "dfs = [cog_usage.query(f'FCE_NUM == {fce}') for fce in furnaces]" ] }, + { + "cell_type": "markdown", + "id": "23b8cd29", + "metadata": {}, + "source": [ + "## 분리 후 FAC_OP_CD, FCE_NUM 두 개 Column 삭제" + ] + }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "id": "8db10469", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T02:38:35.851317Z", - "start_time": "2023-04-03T02:38:34.896988Z" + "end_time": "2023-04-11T09:08:46.866305Z", + "start_time": "2023-04-11T09:08:45.947460Z" } }, "outputs": [], @@ -151,12 +211,12 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 9, "id": "ef319040", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T03:10:19.084390Z", - "start_time": "2023-04-03T03:10:19.071426Z" + "end_time": "2023-04-11T09:08:46.881541Z", + "start_time": "2023-04-11T09:08:46.868304Z" } }, "outputs": [], @@ -164,31 +224,93 @@ "cog_cols = a[3:]" ] }, + { + "cell_type": "markdown", + "id": "55eefbbd", + "metadata": {}, + "source": [ + "## 각 가열로 데이터에 null 값 있는 Column 확인" + ] + }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 10, + "id": "88bf016f", + "metadata": { + "ExecuteTime": { + "end_time": "2023-04-11T09:08:46.927290Z", + "start_time": "2023-04-11T09:08:46.884597Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Furnace 1\n", + "\n", + "Int64Index: 61660 entries, 0 to 246110\n", + "Data columns (total 1 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 MIDT_CLT_DT 61659 non-null datetime64[ns]\n", + "dtypes: datetime64[ns](1)\n", + "memory usage: 963.4 KB\n", + "Furnace 4\n", + "\n", + "Int64Index: 61195 entries, 3 to 246113\n", + "Data columns (total 3 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 HR_RF_HS_BEBN_C_A_CGS_FL 0 non-null float64\n", + " 1 HR_RF_HS_TWBN_C_A_CGS_FL 0 non-null float64\n", + " 2 HR_RF_HS_BWBN_C_A_CGS_FL 0 non-null float64\n", + "dtypes: float64(3)\n", + "memory usage: 1.9 MB\n" + ] + } + ], + "source": [ + "for i, df_ in enumerate(dfs):\n", + " na_col = df_.columns[df_.isna().any(axis=0)]\n", + " if na_col.size > 0:\n", + " print (f'Furnace {i+1}')\n", + " df_.loc[:, na_col].info()" + ] + }, + { + "cell_type": "markdown", + "id": "88db4c40", + "metadata": {}, + "source": [ + "## 데이터 전체 기간 가열로별 COG 사용량" + ] + }, + { + "cell_type": "code", + "execution_count": 11, "id": "6179c0d9", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T03:12:09.182398Z", - "start_time": "2023-04-03T03:12:08.840312Z" + "end_time": "2023-04-11T09:08:47.640740Z", + "start_time": "2023-04-11T09:08:46.929285Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 15, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0fa8b9de43214fd5ae3a93dd4e7acbd8", + "model_id": "ee0b672591c949a6b24b002919686924", "version_major": 2, "version_minor": 0 }, @@ -218,14 +340,22 @@ "plt.legend(frameon=False, ncol=4)" ] }, + { + "cell_type": "markdown", + "id": "9a099d1d", + "metadata": {}, + "source": [ + "# D2 열연 조업 실적" + ] + }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 12, "id": "b414e7fa", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T06:40:24.539770Z", - "start_time": "2023-04-03T06:40:24.352824Z" + "end_time": "2023-04-11T09:08:47.838876Z", + "start_time": "2023-04-11T09:08:47.642735Z" } }, "outputs": [], @@ -235,12 +365,12 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 13, "id": "8fae7e8d", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T06:40:24.992250Z", - "start_time": "2023-04-03T06:40:24.936400Z" + "end_time": "2023-04-11T09:08:47.878943Z", + "start_time": "2023-04-11T09:08:47.840953Z" } }, "outputs": [ @@ -275,7 +405,29 @@ " SLAB_NO\n", " HR_SL_RL_WGT\n", " RF_CH_MAT_THK\n", - " ...\n", + " RF_CH_MAT_LEN\n", + " RF_SVY_MAT_AVG_W\n", + " HR_ROLL_DATE\n", + " HR_RL_CL_THK\n", + " HR_RL_CL_WTH\n", + " HR_CL_LEN\n", + " RST_HCR_FLAG\n", + " RF_CH_DT\n", + " RF_NO\n", + " RF_CH_TP\n", + " RF_CH_HT_TP\n", + " RF_CH_MAT_TM\n", + " RF_CHZ_IN_TM\n", + " RF_PRHT_TM\n", + " RF_HT_Z_TM\n", + " RF_NOR_Z_TM\n", + " RF_CHZ_IN_MAT_TM\n", + " RF_PRHT_MAT_TM\n", + " RF_HT_Z_MAT_TM\n", + " RF_NOR_Z_MAT_TM\n", + " RF_CHZ_IN_FCE_TIME\n", + " RF_REVISE_IN_FCE_TIME\n", + " RF_PRHT_IN_FCE_TIME\n", " RF_HT_Z_IN_FCE_TIME\n", " RF_NOR_Z_IN_FCE_TIME\n", " RF_IN_FCE_TIME\n", @@ -299,7 +451,29 @@ " Slab번호\n", " 열연압연Slab실평중량\n", " 가열로장입소재두께\n", - " ...\n", + " 열연가열로장입소재길이\n", + " 가열로장입소재평균폭\n", + " 열연압연일시\n", + " 열연압연코일두께\n", + " 열연압연코일폭\n", + " 열연압연코일길이\n", + " 열간압연실적HCR구분\n", + " 열연가열로소재장입일시\n", + " 가열로번호\n", + " 가열로장입구분\n", + " 가열로장입열구분\n", + " 가열로장입소재온도\n", + " 열연가열로장입대온도\n", + " 열연가열로예열대온도\n", + " 열연가열로가열대온도\n", + " 열연가열로균열대온도\n", + " 열연가열로장입대소재온도\n", + " 열연가열로예열대소재온도\n", + " 열연가열로가열대소재온도\n", + " 후판가열로균열대소재온도\n", + " 열연가열로장입대재로시간\n", + " 가열로보정재로시간\n", + " 열연가열로예열대재로시간\n", " 열연가열로가열대재로시간\n", " 열연가열로균열대재로시간\n", " 열연가열로재로시간\n", @@ -325,7 +499,29 @@ " SP45418 561\n", " 22600.0\n", " 250.0\n", - " ...\n", + " 9230.0\n", + " 1230.0\n", + " 2019-08-01 04:28:11\n", + " 2.400\n", + " 1150.9\n", + " 994\n", + " C\n", + " 2019-08-01 00:04:12\n", + " 4.0\n", + " 0.0\n", + " 1.0\n", + " 68.0\n", + " 1047.0\n", + " 1228.0\n", + " 1266.0\n", + " 1212.0\n", + " 703.0\n", + " 1109.0\n", + " 1256.0\n", + " 1238.0\n", + " 69.0\n", + " 246.0\n", + " 67.0\n", " 62.0\n", " 45.0\n", " 246.0\n", @@ -349,7 +545,29 @@ " SQ07510 021\n", " 12860.0\n", " 250.0\n", - " ...\n", + " 6470.0\n", + " 1022.0\n", + " 2019-08-01 04:31:01\n", + " 1.400\n", + " 951.0\n", + " 1161\n", + " C\n", + " 2019-08-01 00:05:56\n", + " 1.0\n", + " 0.0\n", + " 1.0\n", + " 45.0\n", + " 1014.0\n", + " 1238.0\n", + " 1244.0\n", + " 1194.0\n", + " 596.0\n", + " 874.0\n", + " 1174.0\n", + " 1176.0\n", + " 71.0\n", + " 248.0\n", + " 51.0\n", " 73.0\n", " 51.0\n", " 248.0\n", @@ -373,7 +591,29 @@ " SQ07510 041\n", " 12970.0\n", " 250.0\n", - " ...\n", + " 6630.0\n", + " 971.0\n", + " 2019-08-01 04:32:29\n", + " 1.400\n", + " 951.0\n", + " 1169\n", + " C\n", + " 2019-08-01 00:09:27\n", + " 2.0\n", + " 0.0\n", + " 1.0\n", + " 44.0\n", + " 990.0\n", + " 1261.0\n", + " 1248.0\n", + " 1197.0\n", + " 532.0\n", + " 935.0\n", + " 1170.0\n", + " 1172.0\n", + " 72.0\n", + " 246.0\n", + " 49.0\n", " 76.0\n", " 48.0\n", " 246.0\n", @@ -397,7 +637,29 @@ " SQ07510 531\n", " 13040.0\n", " 250.0\n", - " ...\n", + " 6630.0\n", + " 982.0\n", + " 2019-08-01 04:34:32\n", + " 1.400\n", + " 951.0\n", + " 1180\n", + " C\n", + " 2019-08-01 00:10:24\n", + " 3.0\n", + " 0.0\n", + " 1.0\n", + " 41.0\n", + " 1023.0\n", + " 1247.0\n", + " 1240.0\n", + " 1196.0\n", + " 543.0\n", + " 966.0\n", + " 1179.0\n", + " 1179.0\n", + " 69.0\n", + " 248.0\n", + " 54.0\n", " 75.0\n", " 49.0\n", " 248.0\n", @@ -421,7 +683,29 @@ " SQ07510 031\n", " 12950.0\n", " 250.0\n", - " ...\n", + " 6630.0\n", + " 984.0\n", + " 2019-08-01 04:36:15\n", + " 1.400\n", + " 951.0\n", + " 1165\n", + " C\n", + " 2019-08-01 00:12:28\n", + " 4.0\n", + " 0.0\n", + " 1.0\n", + " 40.0\n", + " 1047.0\n", + " 1229.0\n", + " 1267.0\n", + " 1212.0\n", + " 705.0\n", + " 1116.0\n", + " 1238.0\n", + " 1222.0\n", + " 69.0\n", + " 248.0\n", + " 69.0\n", " 59.0\n", " 49.0\n", " 248.0\n", @@ -456,6 +740,28 @@ " ...\n", " ...\n", " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", " \n", " \n", " 42370\n", @@ -469,7 +775,29 @@ " SQ16769 021\n", " 21690.0\n", " 250.0\n", - " ...\n", + " 7830.0\n", + " 1417.0\n", + " 2019-10-31 04:00:16\n", + " 2.035\n", + " 1390.0\n", + " 931\n", + " H\n", + " 2019-10-30 23:50:47\n", + " 4.0\n", + " 0.0\n", + " 1.0\n", + " 339.0\n", + " 1049.0\n", + " 1269.0\n", + " 1279.0\n", + " 1226.0\n", + " 734.0\n", + " 1141.0\n", + " 1260.0\n", + " 1239.0\n", + " 68.0\n", + " 229.0\n", + " 55.0\n", " 50.0\n", " 55.0\n", " 229.0\n", @@ -493,7 +821,29 @@ " SQ17014 031\n", " 28250.0\n", " 250.0\n", - " ...\n", + " 10510.0\n", + " 1375.0\n", + " 2019-10-31 04:04:41\n", + " 3.500\n", + " 1333.0\n", + " 747\n", + " H\n", + " 2019-10-30 23:53:01\n", + " 1.0\n", + " 0.0\n", + " 1.0\n", + " 391.0\n", + " 1012.0\n", + " 1268.0\n", + " 1263.0\n", + " 1220.0\n", + " 677.0\n", + " 912.0\n", + " 1170.0\n", + " 1176.0\n", + " 69.0\n", + " 237.0\n", + " 43.0\n", " 61.0\n", " 62.0\n", " 237.0\n", @@ -517,7 +867,29 @@ " SQ16534 5112\n", " 14720.0\n", " 246.0\n", - " ...\n", + " 5530.0\n", + " 1392.0\n", + " 2019-10-31 04:15:49\n", + " 2.030\n", + " 1340.0\n", + " 647\n", + " H\n", + " 2019-10-30 23:54:26\n", + " 2.0\n", + " 0.0\n", + " 1.0\n", + " 304.0\n", + " 1024.0\n", + " 1281.0\n", + " 1267.0\n", + " 1223.0\n", + " 672.0\n", + " 1016.0\n", + " 1188.0\n", + " 1191.0\n", + " 68.0\n", + " 241.0\n", + " 46.0\n", " 60.0\n", " 66.0\n", " 241.0\n", @@ -541,7 +913,29 @@ " SQ16769 061\n", " 22060.0\n", " 250.0\n", - " ...\n", + " 7980.0\n", + " 1417.0\n", + " 2019-10-31 04:05:38\n", + " 2.035\n", + " 1340.0\n", + " 0\n", + " C\n", + " 2019-10-30 23:58:26\n", + " 3.0\n", + " 0.0\n", + " 1.0\n", + " 200.0\n", + " 1024.0\n", + " 1272.0\n", + " 1265.0\n", + " 1223.0\n", + " 630.0\n", + " 925.0\n", + " 1158.0\n", + " 1177.0\n", + " 68.0\n", + " 241.0\n", + " 46.0\n", " 60.0\n", " 66.0\n", " 241.0\n", @@ -565,7 +959,29 @@ " SQ16769 051\n", " 22080.0\n", " 250.0\n", - " ...\n", + " 7980.0\n", + " 1455.0\n", + " 2019-10-31 04:09:12\n", + " 2.035\n", + " 1340.0\n", + " 0\n", + " H\n", + " 2019-10-30 23:58:49\n", + " 4.0\n", + " 0.0\n", + " 1.0\n", + " 331.0\n", + " 1048.0\n", + " 1269.0\n", + " 1279.0\n", + " 1226.0\n", + " 728.0\n", + " 1130.0\n", + " 1252.0\n", + " 1232.0\n", + " 69.0\n", + " 245.0\n", + " 59.0\n", " 44.0\n", " 71.0\n", " 245.0\n", @@ -597,19 +1013,89 @@ "42373 2019-10-30 23:55:49 HRX151420 4 3A 43A \n", "42374 2019-10-30 23:58:43 HRX151430 4 3A 43A \n", "\n", - " WORKS_CODE HR_CH_SCHE_NUM SLAB_NO HR_SL_RL_WGT RF_CH_MAT_THK ... \\\n", - " 사소구분 열연장입예정번호 Slab번호 열연압연Slab실평중량 가열로장입소재두께 ... \n", - "0 K HRU682330 SP45418 561 22600.0 250.0 ... \n", - "1 K HRU682450 SQ07510 021 12860.0 250.0 ... \n", - "2 K HRU682430 SQ07510 041 12970.0 250.0 ... \n", - "3 K HRU682410 SQ07510 531 13040.0 250.0 ... \n", - "4 K HRU682420 SQ07510 031 12950.0 250.0 ... \n", - "... ... ... ... ... ... ... \n", - "42370 K HRX659920 SQ16769 021 21690.0 250.0 ... \n", - "42371 K HRX659950 SQ17014 031 28250.0 250.0 ... \n", - "42372 K HRX659980 SQ16534 5112 14720.0 246.0 ... \n", - "42373 K HRX659960 SQ16769 061 22060.0 250.0 ... \n", - "42374 K HRX659970 SQ16769 051 22080.0 250.0 ... \n", + " WORKS_CODE HR_CH_SCHE_NUM SLAB_NO HR_SL_RL_WGT RF_CH_MAT_THK \\\n", + " 사소구분 열연장입예정번호 Slab번호 열연압연Slab실평중량 가열로장입소재두께 \n", + "0 K HRU682330 SP45418 561 22600.0 250.0 \n", + "1 K HRU682450 SQ07510 021 12860.0 250.0 \n", + "2 K HRU682430 SQ07510 041 12970.0 250.0 \n", + "3 K HRU682410 SQ07510 531 13040.0 250.0 \n", + "4 K HRU682420 SQ07510 031 12950.0 250.0 \n", + "... ... ... ... ... ... \n", + "42370 K HRX659920 SQ16769 021 21690.0 250.0 \n", + "42371 K HRX659950 SQ17014 031 28250.0 250.0 \n", + "42372 K HRX659980 SQ16534 5112 14720.0 246.0 \n", + "42373 K HRX659960 SQ16769 061 22060.0 250.0 \n", + "42374 K HRX659970 SQ16769 051 22080.0 250.0 \n", + "\n", + " RF_CH_MAT_LEN RF_SVY_MAT_AVG_W HR_ROLL_DATE HR_RL_CL_THK \\\n", + " 열연가열로장입소재길이 가열로장입소재평균폭 열연압연일시 열연압연코일두께 \n", + "0 9230.0 1230.0 2019-08-01 04:28:11 2.400 \n", + "1 6470.0 1022.0 2019-08-01 04:31:01 1.400 \n", + "2 6630.0 971.0 2019-08-01 04:32:29 1.400 \n", + "3 6630.0 982.0 2019-08-01 04:34:32 1.400 \n", + "4 6630.0 984.0 2019-08-01 04:36:15 1.400 \n", + "... ... ... ... ... \n", + "42370 7830.0 1417.0 2019-10-31 04:00:16 2.035 \n", + "42371 10510.0 1375.0 2019-10-31 04:04:41 3.500 \n", + "42372 5530.0 1392.0 2019-10-31 04:15:49 2.030 \n", + "42373 7980.0 1417.0 2019-10-31 04:05:38 2.035 \n", + "42374 7980.0 1455.0 2019-10-31 04:09:12 2.035 \n", + "\n", + " HR_RL_CL_WTH HR_CL_LEN RST_HCR_FLAG RF_CH_DT RF_NO RF_CH_TP \\\n", + " 열연압연코일폭 열연압연코일길이 열간압연실적HCR구분 열연가열로소재장입일시 가열로번호 가열로장입구분 \n", + "0 1150.9 994 C 2019-08-01 00:04:12 4.0 0.0 \n", + "1 951.0 1161 C 2019-08-01 00:05:56 1.0 0.0 \n", + "2 951.0 1169 C 2019-08-01 00:09:27 2.0 0.0 \n", + "3 951.0 1180 C 2019-08-01 00:10:24 3.0 0.0 \n", + "4 951.0 1165 C 2019-08-01 00:12:28 4.0 0.0 \n", + "... ... ... ... ... ... ... \n", + "42370 1390.0 931 H 2019-10-30 23:50:47 4.0 0.0 \n", + "42371 1333.0 747 H 2019-10-30 23:53:01 1.0 0.0 \n", + "42372 1340.0 647 H 2019-10-30 23:54:26 2.0 0.0 \n", + "42373 1340.0 0 C 2019-10-30 23:58:26 3.0 0.0 \n", + "42374 1340.0 0 H 2019-10-30 23:58:49 4.0 0.0 \n", + "\n", + " RF_CH_HT_TP RF_CH_MAT_TM RF_CHZ_IN_TM RF_PRHT_TM RF_HT_Z_TM RF_NOR_Z_TM \\\n", + " 가열로장입열구분 가열로장입소재온도 열연가열로장입대온도 열연가열로예열대온도 열연가열로가열대온도 열연가열로균열대온도 \n", + "0 1.0 68.0 1047.0 1228.0 1266.0 1212.0 \n", + "1 1.0 45.0 1014.0 1238.0 1244.0 1194.0 \n", + "2 1.0 44.0 990.0 1261.0 1248.0 1197.0 \n", + "3 1.0 41.0 1023.0 1247.0 1240.0 1196.0 \n", + "4 1.0 40.0 1047.0 1229.0 1267.0 1212.0 \n", + "... ... ... ... ... ... ... \n", + "42370 1.0 339.0 1049.0 1269.0 1279.0 1226.0 \n", + "42371 1.0 391.0 1012.0 1268.0 1263.0 1220.0 \n", + "42372 1.0 304.0 1024.0 1281.0 1267.0 1223.0 \n", + "42373 1.0 200.0 1024.0 1272.0 1265.0 1223.0 \n", + "42374 1.0 331.0 1048.0 1269.0 1279.0 1226.0 \n", + "\n", + " RF_CHZ_IN_MAT_TM RF_PRHT_MAT_TM RF_HT_Z_MAT_TM RF_NOR_Z_MAT_TM \\\n", + " 열연가열로장입대소재온도 열연가열로예열대소재온도 열연가열로가열대소재온도 후판가열로균열대소재온도 \n", + "0 703.0 1109.0 1256.0 1238.0 \n", + "1 596.0 874.0 1174.0 1176.0 \n", + "2 532.0 935.0 1170.0 1172.0 \n", + "3 543.0 966.0 1179.0 1179.0 \n", + "4 705.0 1116.0 1238.0 1222.0 \n", + "... ... ... ... ... \n", + "42370 734.0 1141.0 1260.0 1239.0 \n", + "42371 677.0 912.0 1170.0 1176.0 \n", + "42372 672.0 1016.0 1188.0 1191.0 \n", + "42373 630.0 925.0 1158.0 1177.0 \n", + "42374 728.0 1130.0 1252.0 1232.0 \n", + "\n", + " RF_CHZ_IN_FCE_TIME RF_REVISE_IN_FCE_TIME RF_PRHT_IN_FCE_TIME \\\n", + " 열연가열로장입대재로시간 가열로보정재로시간 열연가열로예열대재로시간 \n", + "0 69.0 246.0 67.0 \n", + "1 71.0 248.0 51.0 \n", + "2 72.0 246.0 49.0 \n", + "3 69.0 248.0 54.0 \n", + "4 69.0 248.0 69.0 \n", + "... ... ... ... \n", + "42370 68.0 229.0 55.0 \n", + "42371 69.0 237.0 43.0 \n", + "42372 68.0 241.0 46.0 \n", + "42373 68.0 241.0 46.0 \n", + "42374 69.0 245.0 59.0 \n", "\n", " RF_HT_Z_IN_FCE_TIME RF_NOR_Z_IN_FCE_TIME RF_IN_FCE_TIME RF_DEV_MAT_TM \\\n", " 열연가열로가열대재로시간 열연가열로균열대재로시간 열연가열로재로시간 열연가열로추출소재온도 \n", @@ -656,7 +1142,7 @@ "[42375 rows x 43 columns]" ] }, - "execution_count": 17, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -665,14 +1151,90 @@ "df_d2" ] }, + { + "cell_type": "markdown", + "id": "12c3f901", + "metadata": {}, + "source": [ + "NA 값이 있는 Column 목록" + ] + }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 14, + "id": "57b51c3c", + "metadata": { + "ExecuteTime": { + "end_time": "2023-04-11T09:08:47.963897Z", + "start_time": "2023-04-11T09:08:47.879939Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 42375 entries, 0 to 42374\n", + "Data columns (total 30 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 (HR_SL_RL_WGT, 열연압연Slab실평중량) 42352 non-null float64\n", + " 1 (RF_CH_MAT_THK, 가열로장입소재두께) 42352 non-null float64\n", + " 2 (RF_CH_MAT_LEN, 열연가열로장입소재길이) 42352 non-null float64\n", + " 3 (RF_SVY_MAT_AVG_W, 가열로장입소재평균폭) 42352 non-null float64\n", + " 4 (HR_ROLL_DATE, 열연압연일시) 42346 non-null object \n", + " 5 (RST_HCR_FLAG, 열간압연실적HCR구분) 42352 non-null object \n", + " 6 (RF_CH_DT, 열연가열로소재장입일시) 42352 non-null object \n", + " 7 (RF_NO, 가열로번호) 42352 non-null float64\n", + " 8 (RF_CH_TP, 가열로장입구분) 42352 non-null float64\n", + " 9 (RF_CH_HT_TP, 가열로장입열구분) 42352 non-null float64\n", + " 10 (RF_CH_MAT_TM, 가열로장입소재온도) 42352 non-null float64\n", + " 11 (RF_CHZ_IN_TM, 열연가열로장입대온도) 42345 non-null float64\n", + " 12 (RF_PRHT_TM, 열연가열로예열대온도) 42345 non-null float64\n", + " 13 (RF_HT_Z_TM, 열연가열로가열대온도) 42345 non-null float64\n", + " 14 (RF_NOR_Z_TM, 열연가열로균열대온도) 42345 non-null float64\n", + " 15 (RF_CHZ_IN_MAT_TM, 열연가열로장입대소재온도) 42345 non-null float64\n", + " 16 (RF_PRHT_MAT_TM, 열연가열로예열대소재온도) 42345 non-null float64\n", + " 17 (RF_HT_Z_MAT_TM, 열연가열로가열대소재온도) 42345 non-null float64\n", + " 18 (RF_NOR_Z_MAT_TM, 후판가열로균열대소재온도) 42345 non-null float64\n", + " 19 (RF_CHZ_IN_FCE_TIME, 열연가열로장입대재로시간) 42349 non-null float64\n", + " 20 (RF_REVISE_IN_FCE_TIME, 가열로보정재로시간) 42349 non-null float64\n", + " 21 (RF_PRHT_IN_FCE_TIME, 열연가열로예열대재로시간) 42349 non-null float64\n", + " 22 (RF_HT_Z_IN_FCE_TIME, 열연가열로가열대재로시간) 42349 non-null float64\n", + " 23 (RF_NOR_Z_IN_FCE_TIME, 열연가열로균열대재로시간) 42349 non-null float64\n", + " 24 (RF_IN_FCE_TIME, 열연가열로재로시간) 42349 non-null float64\n", + " 25 (RF_DEV_MAT_TM, 열연가열로추출소재온도) 42345 non-null float64\n", + " 26 (RF_DEV_TP, 가열로추출구분) 42349 non-null float64\n", + " 27 (RF_DEV_CALC_TM_SET_V, 열연가열로추출설정온도) 42349 non-null float64\n", + " 28 (RF_DEV_DT, 열연가열로소재추출일시) 42349 non-null object \n", + " 29 (RL_AC_ROLL_UT_NM, 압연실적Roll단위코드) 41867 non-null object \n", + "dtypes: float64(25), object(5)\n", + "memory usage: 9.7+ MB\n" + ] + } + ], + "source": [ + "na_col = df_d2.columns[df_d2.isna().any(axis=0)]\n", + "df_d2.loc[:, na_col].info()" + ] + }, + { + "cell_type": "markdown", + "id": "7f060570", + "metadata": {}, + "source": [ + "영문 Column Index 만 남기기" + ] + }, + { + "cell_type": "code", + "execution_count": 15, "id": "f6439772", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T06:40:32.850588Z", - "start_time": "2023-04-03T06:40:32.841609Z" + "end_time": "2023-04-11T09:08:47.969672Z", + "start_time": "2023-04-11T09:08:47.965893Z" } }, "outputs": [], @@ -683,12 +1245,12 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 16, "id": "1d2eb018", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T06:40:44.983936Z", - "start_time": "2023-04-03T06:40:44.967999Z" + "end_time": "2023-04-11T09:08:47.982056Z", + "start_time": "2023-04-11T09:08:47.969672Z" } }, "outputs": [ @@ -740,7 +1302,7 @@ " ('HR_C_STE_TP', '열연탄소강구분')]" ] }, - "execution_count": 19, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -750,118 +1312,45 @@ ] }, { - "cell_type": "code", - "execution_count": 20, - "id": "af76319d", - "metadata": { - "ExecuteTime": { - "end_time": "2023-04-03T02:16:22.770339Z", - "start_time": "2023-04-03T02:16:22.758162Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "('CREATION_TIMESTAMP',\n", - " 'MTL_NO',\n", - " 'OPER_FLAG',\n", - " 'FAC_OP_CD',\n", - " 'HR_CL_RL_PRD_FAC_CD',\n", - " 'WORKS_CODE',\n", - " 'HR_CH_SCHE_NUM',\n", - " 'SLAB_NO',\n", - " 'HR_SL_RL_WGT',\n", - " 'RF_CH_MAT_THK',\n", - " 'RF_CH_MAT_LEN',\n", - " 'RF_SVY_MAT_AVG_W',\n", - " 'HR_ROLL_DATE',\n", - " 'HR_RL_CL_THK',\n", - " 'HR_RL_CL_WTH',\n", - " 'HR_CL_LEN',\n", - " 'RST_HCR_FLAG',\n", - " 'RF_CH_DT',\n", - " 'RF_NO',\n", - " 'RF_CH_TP',\n", - " 'RF_CH_HT_TP',\n", - " 'RF_CH_MAT_TM',\n", - " 'RF_CHZ_IN_TM',\n", - " 'RF_PRHT_TM',\n", - " 'RF_HT_Z_TM',\n", - " 'RF_NOR_Z_TM',\n", - " 'RF_CHZ_IN_MAT_TM',\n", - " 'RF_PRHT_MAT_TM',\n", - " 'RF_HT_Z_MAT_TM',\n", - " 'RF_NOR_Z_MAT_TM',\n", - " 'RF_CHZ_IN_FCE_TIME',\n", - " 'RF_REVISE_IN_FCE_TIME',\n", - " 'RF_PRHT_IN_FCE_TIME',\n", - " 'RF_HT_Z_IN_FCE_TIME',\n", - " 'RF_NOR_Z_IN_FCE_TIME',\n", - " 'RF_IN_FCE_TIME',\n", - " 'RF_DEV_MAT_TM',\n", - " 'RF_DEV_TP',\n", - " 'RF_DEV_CALC_TM_SET_V',\n", - " 'RF_DEV_DT',\n", - " 'RL_AC_ROLL_UT_NM',\n", - " 'HR_STS_ST_CLS_TP',\n", - " 'HR_C_STE_TP')" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "cell_type": "markdown", + "id": "93cd0272", + "metadata": {}, "source": [ - "d2_col_eng" + "Parsing Timestamps" ] }, { "cell_type": "code", - "execution_count": 21, - "id": "71618c38", + "execution_count": 17, + "id": "324bdc04", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T02:16:22.785208Z", - "start_time": "2023-04-03T02:16:22.772177Z" + "end_time": "2023-04-11T09:08:48.429721Z", + "start_time": "2023-04-11T09:08:47.982056Z" } }, - "outputs": [ - { - "data": { - "text/plain": [ - "Index(['CREATION_TIMESTAMP', 'MTL_NO', 'OPER_FLAG', 'FAC_OP_CD',\n", - " 'HR_CL_RL_PRD_FAC_CD', 'WORKS_CODE', 'HR_CH_SCHE_NUM', 'SLAB_NO',\n", - " 'HR_SL_RL_WGT', 'RF_CH_MAT_THK', 'RF_CH_MAT_LEN', 'RF_SVY_MAT_AVG_W',\n", - " 'HR_ROLL_DATE', 'HR_RL_CL_THK', 'HR_RL_CL_WTH', 'HR_CL_LEN',\n", - " 'RST_HCR_FLAG', 'RF_CH_DT', 'RF_NO', 'RF_CH_TP', 'RF_CH_HT_TP',\n", - " 'RF_CH_MAT_TM', 'RF_CHZ_IN_TM', 'RF_PRHT_TM', 'RF_HT_Z_TM',\n", - " 'RF_NOR_Z_TM', 'RF_CHZ_IN_MAT_TM', 'RF_PRHT_MAT_TM', 'RF_HT_Z_MAT_TM',\n", - " 'RF_NOR_Z_MAT_TM', 'RF_CHZ_IN_FCE_TIME', 'RF_REVISE_IN_FCE_TIME',\n", - " 'RF_PRHT_IN_FCE_TIME', 'RF_HT_Z_IN_FCE_TIME', 'RF_NOR_Z_IN_FCE_TIME',\n", - " 'RF_IN_FCE_TIME', 'RF_DEV_MAT_TM', 'RF_DEV_TP', 'RF_DEV_CALC_TM_SET_V',\n", - " 'RF_DEV_DT', 'RL_AC_ROLL_UT_NM', 'HR_STS_ST_CLS_TP', 'HR_C_STE_TP'],\n", - " dtype='object')" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "df_d2.columns" + "for col_name in ['CREATION_TIMESTAMP', 'RF_CH_DT', 'RF_DEV_DT', 'HR_ROLL_DATE',]:\n", + " df_d2[col_name] = df_d2[col_name].apply(pd.Timestamp)" + ] + }, + { + "cell_type": "markdown", + "id": "73b9f8d1", + "metadata": {}, + "source": [ + "## na row 삭제" ] }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 18, "id": "7e15346c", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T08:10:12.625848Z", - "start_time": "2023-04-03T08:10:12.525407Z" + "end_time": "2023-04-11T09:08:48.505159Z", + "start_time": "2023-04-11T09:08:48.430720Z" } }, "outputs": [ @@ -896,7 +1385,29 @@ " SLAB_NO\n", " HR_SL_RL_WGT\n", " RF_CH_MAT_THK\n", - " ...\n", + " RF_CH_MAT_LEN\n", + " RF_SVY_MAT_AVG_W\n", + " HR_ROLL_DATE\n", + " HR_RL_CL_THK\n", + " HR_RL_CL_WTH\n", + " HR_CL_LEN\n", + " RST_HCR_FLAG\n", + " RF_CH_DT\n", + " RF_NO\n", + " RF_CH_TP\n", + " RF_CH_HT_TP\n", + " RF_CH_MAT_TM\n", + " RF_CHZ_IN_TM\n", + " RF_PRHT_TM\n", + " RF_HT_Z_TM\n", + " RF_NOR_Z_TM\n", + " RF_CHZ_IN_MAT_TM\n", + " RF_PRHT_MAT_TM\n", + " RF_HT_Z_MAT_TM\n", + " RF_NOR_Z_MAT_TM\n", + " RF_CHZ_IN_FCE_TIME\n", + " RF_REVISE_IN_FCE_TIME\n", + " RF_PRHT_IN_FCE_TIME\n", " RF_HT_Z_IN_FCE_TIME\n", " RF_NOR_Z_IN_FCE_TIME\n", " RF_IN_FCE_TIME\n", @@ -922,7 +1433,29 @@ " SP45418 561\n", " 22600.0\n", " 250.0\n", - " ...\n", + " 9230.0\n", + " 1230.0\n", + " 2019-08-01 04:28:11\n", + " 2.400\n", + " 1150.9\n", + " 994\n", + " C\n", + " 2019-08-01 00:04:12\n", + " 4.0\n", + " 0.0\n", + " 1.0\n", + " 68.0\n", + " 1047.0\n", + " 1228.0\n", + " 1266.0\n", + " 1212.0\n", + " 703.0\n", + " 1109.0\n", + " 1256.0\n", + " 1238.0\n", + " 69.0\n", + " 246.0\n", + " 67.0\n", " 62.0\n", " 45.0\n", " 246.0\n", @@ -946,7 +1479,29 @@ " SQ07510 021\n", " 12860.0\n", " 250.0\n", - " ...\n", + " 6470.0\n", + " 1022.0\n", + " 2019-08-01 04:31:01\n", + " 1.400\n", + " 951.0\n", + " 1161\n", + " C\n", + " 2019-08-01 00:05:56\n", + " 1.0\n", + " 0.0\n", + " 1.0\n", + " 45.0\n", + " 1014.0\n", + " 1238.0\n", + " 1244.0\n", + " 1194.0\n", + " 596.0\n", + " 874.0\n", + " 1174.0\n", + " 1176.0\n", + " 71.0\n", + " 248.0\n", + " 51.0\n", " 73.0\n", " 51.0\n", " 248.0\n", @@ -970,7 +1525,29 @@ " SQ07510 041\n", " 12970.0\n", " 250.0\n", - " ...\n", + " 6630.0\n", + " 971.0\n", + " 2019-08-01 04:32:29\n", + " 1.400\n", + " 951.0\n", + " 1169\n", + " C\n", + " 2019-08-01 00:09:27\n", + " 2.0\n", + " 0.0\n", + " 1.0\n", + " 44.0\n", + " 990.0\n", + " 1261.0\n", + " 1248.0\n", + " 1197.0\n", + " 532.0\n", + " 935.0\n", + " 1170.0\n", + " 1172.0\n", + " 72.0\n", + " 246.0\n", + " 49.0\n", " 76.0\n", " 48.0\n", " 246.0\n", @@ -994,7 +1571,29 @@ " SQ07510 531\n", " 13040.0\n", " 250.0\n", - " ...\n", + " 6630.0\n", + " 982.0\n", + " 2019-08-01 04:34:32\n", + " 1.400\n", + " 951.0\n", + " 1180\n", + " C\n", + " 2019-08-01 00:10:24\n", + " 3.0\n", + " 0.0\n", + " 1.0\n", + " 41.0\n", + " 1023.0\n", + " 1247.0\n", + " 1240.0\n", + " 1196.0\n", + " 543.0\n", + " 966.0\n", + " 1179.0\n", + " 1179.0\n", + " 69.0\n", + " 248.0\n", + " 54.0\n", " 75.0\n", " 49.0\n", " 248.0\n", @@ -1018,7 +1617,29 @@ " SQ07510 031\n", " 12950.0\n", " 250.0\n", - " ...\n", + " 6630.0\n", + " 984.0\n", + " 2019-08-01 04:36:15\n", + " 1.400\n", + " 951.0\n", + " 1165\n", + " C\n", + " 2019-08-01 00:12:28\n", + " 4.0\n", + " 0.0\n", + " 1.0\n", + " 40.0\n", + " 1047.0\n", + " 1229.0\n", + " 1267.0\n", + " 1212.0\n", + " 705.0\n", + " 1116.0\n", + " 1238.0\n", + " 1222.0\n", + " 69.0\n", + " 248.0\n", + " 69.0\n", " 59.0\n", " 49.0\n", " 248.0\n", @@ -1053,6 +1674,28 @@ " ...\n", " ...\n", " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", + " ...\n", " \n", " \n", " 42367\n", @@ -1066,7 +1709,29 @@ " SQ16962 511\n", " 27940.0\n", " 250.0\n", - " ...\n", + " 9040.0\n", + " 1580.0\n", + " 2019-10-31 03:54:28\n", + " 2.900\n", + " 1530.0\n", + " 772\n", + " C\n", + " 2019-10-30 23:46:13\n", + " 1.0\n", + " 0.0\n", + " 1.0\n", + " 277.0\n", + " 1012.0\n", + " 1268.0\n", + " 1262.0\n", + " 1221.0\n", + " 621.0\n", + " 882.0\n", + " 1130.0\n", + " 1149.0\n", + " 64.0\n", + " 230.0\n", + " 42.0\n", " 62.0\n", " 61.0\n", " 230.0\n", @@ -1090,7 +1755,29 @@ " SQ16769 041\n", " 16890.0\n", " 250.0\n", - " ...\n", + " 6110.0\n", + " 1427.0\n", + " 2019-10-31 04:01:41\n", + " 2.035\n", + " 1378.0\n", + " 734\n", + " C\n", + " 2019-10-30 23:50:51\n", + " 3.0\n", + " 0.0\n", + " 1.0\n", + " 270.0\n", + " 1020.0\n", + " 1274.0\n", + " 1262.0\n", + " 1224.0\n", + " 643.0\n", + " 911.0\n", + " 1164.0\n", + " 1172.0\n", + " 71.0\n", + " 234.0\n", + " 36.0\n", " 64.0\n", " 62.0\n", " 234.0\n", @@ -1114,7 +1801,29 @@ " SQ16769 021\n", " 21690.0\n", " 250.0\n", - " ...\n", + " 7830.0\n", + " 1417.0\n", + " 2019-10-31 04:00:16\n", + " 2.035\n", + " 1390.0\n", + " 931\n", + " H\n", + " 2019-10-30 23:50:47\n", + " 4.0\n", + " 0.0\n", + " 1.0\n", + " 339.0\n", + " 1049.0\n", + " 1269.0\n", + " 1279.0\n", + " 1226.0\n", + " 734.0\n", + " 1141.0\n", + " 1260.0\n", + " 1239.0\n", + " 68.0\n", + " 229.0\n", + " 55.0\n", " 50.0\n", " 55.0\n", " 229.0\n", @@ -1138,7 +1847,29 @@ " SQ17014 031\n", " 28250.0\n", " 250.0\n", - " ...\n", + " 10510.0\n", + " 1375.0\n", + " 2019-10-31 04:04:41\n", + " 3.500\n", + " 1333.0\n", + " 747\n", + " H\n", + " 2019-10-30 23:53:01\n", + " 1.0\n", + " 0.0\n", + " 1.0\n", + " 391.0\n", + " 1012.0\n", + " 1268.0\n", + " 1263.0\n", + " 1220.0\n", + " 677.0\n", + " 912.0\n", + " 1170.0\n", + " 1176.0\n", + " 69.0\n", + " 237.0\n", + " 43.0\n", " 61.0\n", " 62.0\n", " 237.0\n", @@ -1162,7 +1893,29 @@ " SQ16534 5112\n", " 14720.0\n", " 246.0\n", - " ...\n", + " 5530.0\n", + " 1392.0\n", + " 2019-10-31 04:15:49\n", + " 2.030\n", + " 1340.0\n", + " 647\n", + " H\n", + " 2019-10-30 23:54:26\n", + " 2.0\n", + " 0.0\n", + " 1.0\n", + " 304.0\n", + " 1024.0\n", + " 1281.0\n", + " 1267.0\n", + " 1223.0\n", + " 672.0\n", + " 1016.0\n", + " 1188.0\n", + " 1191.0\n", + " 68.0\n", + " 241.0\n", + " 46.0\n", " 60.0\n", " 66.0\n", " 241.0\n", @@ -1180,88 +1933,153 @@ "" ], "text/plain": [ - " CREATION_TIMESTAMP MTL_NO OPER_FLAG FAC_OP_CD \\\n", - "0 2019-08-01 00:03:37 HRU168840 4 3A \n", - "1 2019-08-01 00:05:11 HRU168850 4 3A \n", - "2 2019-08-01 00:08:44 HRU168860 4 3A \n", - "3 2019-08-01 00:10:23 HRU168870 4 3A \n", - "4 2019-08-01 00:11:57 HRU168880 4 3A \n", - "... ... ... ... ... \n", - "42367 2019-10-30 23:33:20 HRX151360 4 3A \n", - "42369 2019-10-30 23:47:58 HRX151380 4 3A \n", - "42370 2019-10-30 23:49:38 HRX151390 4 3A \n", - "42371 2019-10-30 23:51:17 HRX151400 4 3A \n", - "42372 2019-10-30 23:53:58 HRX151410 4 3A \n", + " CREATION_TIMESTAMP MTL_NO OPER_FLAG FAC_OP_CD HR_CL_RL_PRD_FAC_CD \\\n", + "0 2019-08-01 00:03:37 HRU168840 4 3A 43A \n", + "1 2019-08-01 00:05:11 HRU168850 4 3A 43A \n", + "2 2019-08-01 00:08:44 HRU168860 4 3A 43A \n", + "3 2019-08-01 00:10:23 HRU168870 4 3A 43A \n", + "4 2019-08-01 00:11:57 HRU168880 4 3A 43A \n", + "... ... ... ... ... ... \n", + "42367 2019-10-30 23:33:20 HRX151360 4 3A 43A \n", + "42369 2019-10-30 23:47:58 HRX151380 4 3A 43A \n", + "42370 2019-10-30 23:49:38 HRX151390 4 3A 43A \n", + "42371 2019-10-30 23:51:17 HRX151400 4 3A 43A \n", + "42372 2019-10-30 23:53:58 HRX151410 4 3A 43A \n", "\n", - " HR_CL_RL_PRD_FAC_CD WORKS_CODE HR_CH_SCHE_NUM SLAB_NO \\\n", - "0 43A K HRU682330 SP45418 561 \n", - "1 43A K HRU682450 SQ07510 021 \n", - "2 43A K HRU682430 SQ07510 041 \n", - "3 43A K HRU682410 SQ07510 531 \n", - "4 43A K HRU682420 SQ07510 031 \n", - "... ... ... ... ... \n", - "42367 43A K HRX659910 SQ16962 511 \n", - "42369 43A K HRX659930 SQ16769 041 \n", - "42370 43A K HRX659920 SQ16769 021 \n", - "42371 43A K HRX659950 SQ17014 031 \n", - "42372 43A K HRX659980 SQ16534 5112 \n", + " WORKS_CODE HR_CH_SCHE_NUM SLAB_NO HR_SL_RL_WGT RF_CH_MAT_THK \\\n", + "0 K HRU682330 SP45418 561 22600.0 250.0 \n", + "1 K HRU682450 SQ07510 021 12860.0 250.0 \n", + "2 K HRU682430 SQ07510 041 12970.0 250.0 \n", + "3 K HRU682410 SQ07510 531 13040.0 250.0 \n", + "4 K HRU682420 SQ07510 031 12950.0 250.0 \n", + "... ... ... ... ... ... \n", + "42367 K HRX659910 SQ16962 511 27940.0 250.0 \n", + "42369 K HRX659930 SQ16769 041 16890.0 250.0 \n", + "42370 K HRX659920 SQ16769 021 21690.0 250.0 \n", + "42371 K HRX659950 SQ17014 031 28250.0 250.0 \n", + "42372 K HRX659980 SQ16534 5112 14720.0 246.0 \n", "\n", - " HR_SL_RL_WGT RF_CH_MAT_THK ... RF_HT_Z_IN_FCE_TIME \\\n", - "0 22600.0 250.0 ... 62.0 \n", - "1 12860.0 250.0 ... 73.0 \n", - "2 12970.0 250.0 ... 76.0 \n", - "3 13040.0 250.0 ... 75.0 \n", - "4 12950.0 250.0 ... 59.0 \n", - "... ... ... ... ... \n", - "42367 27940.0 250.0 ... 62.0 \n", - "42369 16890.0 250.0 ... 64.0 \n", - "42370 21690.0 250.0 ... 50.0 \n", - "42371 28250.0 250.0 ... 61.0 \n", - "42372 14720.0 246.0 ... 60.0 \n", + " RF_CH_MAT_LEN RF_SVY_MAT_AVG_W HR_ROLL_DATE HR_RL_CL_THK \\\n", + "0 9230.0 1230.0 2019-08-01 04:28:11 2.400 \n", + "1 6470.0 1022.0 2019-08-01 04:31:01 1.400 \n", + "2 6630.0 971.0 2019-08-01 04:32:29 1.400 \n", + "3 6630.0 982.0 2019-08-01 04:34:32 1.400 \n", + "4 6630.0 984.0 2019-08-01 04:36:15 1.400 \n", + "... ... ... ... ... \n", + "42367 9040.0 1580.0 2019-10-31 03:54:28 2.900 \n", + "42369 6110.0 1427.0 2019-10-31 04:01:41 2.035 \n", + "42370 7830.0 1417.0 2019-10-31 04:00:16 2.035 \n", + "42371 10510.0 1375.0 2019-10-31 04:04:41 3.500 \n", + "42372 5530.0 1392.0 2019-10-31 04:15:49 2.030 \n", "\n", - " RF_NOR_Z_IN_FCE_TIME RF_IN_FCE_TIME RF_DEV_MAT_TM RF_DEV_TP \\\n", - "0 45.0 246.0 1220.0 0.0 \n", - "1 51.0 248.0 1194.0 0.0 \n", - "2 48.0 246.0 1193.0 0.0 \n", - "3 49.0 248.0 1196.0 0.0 \n", - "4 49.0 248.0 1210.0 0.0 \n", - "... ... ... ... ... \n", - "42367 61.0 230.0 1203.0 0.0 \n", - "42369 62.0 234.0 1211.0 0.0 \n", - "42370 55.0 229.0 1227.0 0.0 \n", - "42371 62.0 237.0 1213.0 0.0 \n", - "42372 66.0 241.0 1219.0 0.0 \n", + " HR_RL_CL_WTH HR_CL_LEN RST_HCR_FLAG RF_CH_DT RF_NO \\\n", + "0 1150.9 994 C 2019-08-01 00:04:12 4.0 \n", + "1 951.0 1161 C 2019-08-01 00:05:56 1.0 \n", + "2 951.0 1169 C 2019-08-01 00:09:27 2.0 \n", + "3 951.0 1180 C 2019-08-01 00:10:24 3.0 \n", + "4 951.0 1165 C 2019-08-01 00:12:28 4.0 \n", + "... ... ... ... ... ... \n", + "42367 1530.0 772 C 2019-10-30 23:46:13 1.0 \n", + "42369 1378.0 734 C 2019-10-30 23:50:51 3.0 \n", + "42370 1390.0 931 H 2019-10-30 23:50:47 4.0 \n", + "42371 1333.0 747 H 2019-10-30 23:53:01 1.0 \n", + "42372 1340.0 647 H 2019-10-30 23:54:26 2.0 \n", "\n", - " RF_DEV_CALC_TM_SET_V RF_DEV_DT RL_AC_ROLL_UT_NM \\\n", - "0 1200.0 2019-08-01 04:10:23 HRU316E \n", - "1 1200.0 2019-08-01 04:14:04 HRU316E \n", - "2 1200.0 2019-08-01 04:16:15 HRU316E \n", - "3 1200.0 2019-08-01 04:18:32 HRU316E \n", - "4 1200.0 2019-08-01 04:20:28 HRU316E \n", - "... ... ... ... \n", - "42367 1175.0 2019-10-31 03:37:07 HRX265E \n", - "42369 1210.0 2019-10-31 03:45:42 HRX265E \n", - "42370 1210.0 2019-10-31 03:40:41 HRX265E \n", - "42371 1175.0 2019-10-31 03:50:32 HRX265E \n", - "42372 1210.0 2019-10-31 03:55:43 HRX265E \n", + " RF_CH_TP RF_CH_HT_TP RF_CH_MAT_TM RF_CHZ_IN_TM RF_PRHT_TM \\\n", + "0 0.0 1.0 68.0 1047.0 1228.0 \n", + "1 0.0 1.0 45.0 1014.0 1238.0 \n", + "2 0.0 1.0 44.0 990.0 1261.0 \n", + "3 0.0 1.0 41.0 1023.0 1247.0 \n", + "4 0.0 1.0 40.0 1047.0 1229.0 \n", + "... ... ... ... ... ... \n", + "42367 0.0 1.0 277.0 1012.0 1268.0 \n", + "42369 0.0 1.0 270.0 1020.0 1274.0 \n", + "42370 0.0 1.0 339.0 1049.0 1269.0 \n", + "42371 0.0 1.0 391.0 1012.0 1268.0 \n", + "42372 0.0 1.0 304.0 1024.0 1281.0 \n", "\n", - " HR_STS_ST_CLS_TP HR_C_STE_TP \n", - "0 1 1 \n", - "1 1 1 \n", - "2 1 1 \n", - "3 1 1 \n", - "4 1 1 \n", - "... ... ... \n", - "42367 1 1 \n", - "42369 1 Q \n", - "42370 1 Q \n", - "42371 1 1 \n", - "42372 1 Q \n", + " RF_HT_Z_TM RF_NOR_Z_TM RF_CHZ_IN_MAT_TM RF_PRHT_MAT_TM \\\n", + "0 1266.0 1212.0 703.0 1109.0 \n", + "1 1244.0 1194.0 596.0 874.0 \n", + "2 1248.0 1197.0 532.0 935.0 \n", + "3 1240.0 1196.0 543.0 966.0 \n", + "4 1267.0 1212.0 705.0 1116.0 \n", + "... ... ... ... ... \n", + "42367 1262.0 1221.0 621.0 882.0 \n", + "42369 1262.0 1224.0 643.0 911.0 \n", + "42370 1279.0 1226.0 734.0 1141.0 \n", + "42371 1263.0 1220.0 677.0 912.0 \n", + "42372 1267.0 1223.0 672.0 1016.0 \n", + "\n", + " RF_HT_Z_MAT_TM RF_NOR_Z_MAT_TM RF_CHZ_IN_FCE_TIME \\\n", + "0 1256.0 1238.0 69.0 \n", + "1 1174.0 1176.0 71.0 \n", + "2 1170.0 1172.0 72.0 \n", + "3 1179.0 1179.0 69.0 \n", + "4 1238.0 1222.0 69.0 \n", + "... ... ... ... \n", + "42367 1130.0 1149.0 64.0 \n", + "42369 1164.0 1172.0 71.0 \n", + "42370 1260.0 1239.0 68.0 \n", + "42371 1170.0 1176.0 69.0 \n", + "42372 1188.0 1191.0 68.0 \n", + "\n", + " RF_REVISE_IN_FCE_TIME RF_PRHT_IN_FCE_TIME RF_HT_Z_IN_FCE_TIME \\\n", + "0 246.0 67.0 62.0 \n", + "1 248.0 51.0 73.0 \n", + "2 246.0 49.0 76.0 \n", + "3 248.0 54.0 75.0 \n", + "4 248.0 69.0 59.0 \n", + "... ... ... ... \n", + "42367 230.0 42.0 62.0 \n", + "42369 234.0 36.0 64.0 \n", + "42370 229.0 55.0 50.0 \n", + "42371 237.0 43.0 61.0 \n", + "42372 241.0 46.0 60.0 \n", + "\n", + " RF_NOR_Z_IN_FCE_TIME RF_IN_FCE_TIME RF_DEV_MAT_TM RF_DEV_TP \\\n", + "0 45.0 246.0 1220.0 0.0 \n", + "1 51.0 248.0 1194.0 0.0 \n", + "2 48.0 246.0 1193.0 0.0 \n", + "3 49.0 248.0 1196.0 0.0 \n", + "4 49.0 248.0 1210.0 0.0 \n", + "... ... ... ... ... \n", + "42367 61.0 230.0 1203.0 0.0 \n", + "42369 62.0 234.0 1211.0 0.0 \n", + "42370 55.0 229.0 1227.0 0.0 \n", + "42371 62.0 237.0 1213.0 0.0 \n", + "42372 66.0 241.0 1219.0 0.0 \n", + "\n", + " RF_DEV_CALC_TM_SET_V RF_DEV_DT RL_AC_ROLL_UT_NM \\\n", + "0 1200.0 2019-08-01 04:10:23 HRU316E \n", + "1 1200.0 2019-08-01 04:14:04 HRU316E \n", + "2 1200.0 2019-08-01 04:16:15 HRU316E \n", + "3 1200.0 2019-08-01 04:18:32 HRU316E \n", + "4 1200.0 2019-08-01 04:20:28 HRU316E \n", + "... ... ... ... \n", + "42367 1175.0 2019-10-31 03:37:07 HRX265E \n", + "42369 1210.0 2019-10-31 03:45:42 HRX265E \n", + "42370 1210.0 2019-10-31 03:40:41 HRX265E \n", + "42371 1175.0 2019-10-31 03:50:32 HRX265E \n", + "42372 1210.0 2019-10-31 03:55:43 HRX265E \n", + "\n", + " HR_STS_ST_CLS_TP HR_C_STE_TP \n", + "0 1 1 \n", + "1 1 1 \n", + "2 1 1 \n", + "3 1 1 \n", + "4 1 1 \n", + "... ... ... \n", + "42367 1 1 \n", + "42369 1 Q \n", + "42370 1 Q \n", + "42371 1 1 \n", + "42372 1 Q \n", "\n", "[41864 rows x 43 columns]" ] }, - "execution_count": 31, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1272,81 +2090,12 @@ }, { "cell_type": "code", - "execution_count": 35, - "id": "669f0801", - "metadata": { - "ExecuteTime": { - "end_time": "2023-04-03T08:12:18.553863Z", - "start_time": "2023-04-03T08:12:18.502111Z" - } - }, - "outputs": [ - { - "data": { - "text/plain": [ - "CREATION_TIMESTAMP False\n", - "MTL_NO False\n", - "OPER_FLAG False\n", - "FAC_OP_CD False\n", - "HR_CL_RL_PRD_FAC_CD False\n", - "WORKS_CODE False\n", - "HR_CH_SCHE_NUM False\n", - "SLAB_NO False\n", - "HR_SL_RL_WGT True\n", - "RF_CH_MAT_THK True\n", - "RF_CH_MAT_LEN True\n", - "RF_SVY_MAT_AVG_W True\n", - "HR_ROLL_DATE True\n", - "HR_RL_CL_THK False\n", - "HR_RL_CL_WTH False\n", - "HR_CL_LEN False\n", - "RST_HCR_FLAG True\n", - "RF_CH_DT True\n", - "RF_NO True\n", - "RF_CH_TP True\n", - "RF_CH_HT_TP True\n", - "RF_CH_MAT_TM True\n", - "RF_CHZ_IN_TM True\n", - "RF_PRHT_TM True\n", - "RF_HT_Z_TM True\n", - "RF_NOR_Z_TM True\n", - "RF_CHZ_IN_MAT_TM True\n", - "RF_PRHT_MAT_TM True\n", - "RF_HT_Z_MAT_TM True\n", - "RF_NOR_Z_MAT_TM True\n", - "RF_CHZ_IN_FCE_TIME True\n", - "RF_REVISE_IN_FCE_TIME True\n", - "RF_PRHT_IN_FCE_TIME True\n", - "RF_HT_Z_IN_FCE_TIME True\n", - "RF_NOR_Z_IN_FCE_TIME True\n", - "RF_IN_FCE_TIME True\n", - "RF_DEV_MAT_TM True\n", - "RF_DEV_TP True\n", - "RF_DEV_CALC_TM_SET_V True\n", - "RF_DEV_DT True\n", - "RL_AC_ROLL_UT_NM True\n", - "HR_STS_ST_CLS_TP False\n", - "HR_C_STE_TP False\n", - "dtype: bool" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df_d2.isna().any()" - ] - }, - { - "cell_type": "code", - "execution_count": 33, + "execution_count": 19, "id": "4b800461", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T08:10:49.870231Z", - "start_time": "2023-04-03T08:10:49.854929Z" + "end_time": "2023-04-11T09:08:48.520125Z", + "start_time": "2023-04-11T09:08:48.507154Z" } }, "outputs": [ @@ -1356,7 +2105,7 @@ "23" ] }, - "execution_count": 33, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -1365,14 +2114,30 @@ "df_d2.RF_NO.isnull().to_numpy().nonzero()[0].size" ] }, + { + "cell_type": "markdown", + "id": "3885d4af", + "metadata": {}, + "source": [ + "### na 포함 row 만 csv 파일로 저장" + ] + }, + { + "cell_type": "markdown", + "id": "3b3b426e", + "metadata": {}, + "source": [ + "모든 na 포함 row" + ] + }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 20, "id": "5a2a1de6", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T08:16:22.439975Z", - "start_time": "2023-04-03T08:16:22.369238Z" + "end_time": "2023-04-11T09:08:48.591883Z", + "start_time": "2023-04-11T09:08:48.522129Z" } }, "outputs": [], @@ -1380,14 +2145,22 @@ "df_d2[df_d2.isnull().any(axis=1)].to_csv(\"D2_INSPECT_NA_ROWS.CSV\")" ] }, + { + "cell_type": "markdown", + "id": "90eaf15e", + "metadata": {}, + "source": [ + "RL_AC_ROLL_UT_NM 제외 후 na 포함 row " + ] + }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 21, "id": "8bd00e59", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T10:16:35.791871Z", - "start_time": "2023-04-03T10:16:35.723402Z" + "end_time": "2023-04-11T09:08:48.643725Z", + "start_time": "2023-04-11T09:08:48.594876Z" } }, "outputs": [], @@ -1395,14 +2168,22 @@ "df_d2[df_d2.drop(\"RL_AC_ROLL_UT_NM\", axis=1).isnull().any(axis=1)].to_csv(\"D2_INSPECT_NA_ROWS2.CSV\")" ] }, + { + "cell_type": "markdown", + "id": "adda1142", + "metadata": {}, + "source": [ + "RF_CH_DT 가 na 인 row 조사" + ] + }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 22, "id": "d775b21f", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T10:42:48.739248Z", - "start_time": "2023-04-03T10:42:48.722261Z" + "end_time": "2023-04-11T09:08:48.658550Z", + "start_time": "2023-04-11T09:08:48.645585Z" } }, "outputs": [], @@ -1410,14 +2191,22 @@ "df_d2[df_d2.RF_CH_DT.isnull()].to_csv(\"D2_INSPECT_RF_CH_DT_NA.CSV\")" ] }, + { + "cell_type": "markdown", + "id": "5867b5fa", + "metadata": {}, + "source": [ + "HR_CL_LEN 의 값이 0인 ROW 조사" + ] + }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 23, "id": "9140bbb4", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T10:17:33.991423Z", - "start_time": "2023-04-03T10:17:33.962627Z" + "end_time": "2023-04-11T09:08:48.680926Z", + "start_time": "2023-04-11T09:08:48.659548Z" } }, "outputs": [], @@ -1426,119 +2215,21 @@ ] }, { - "cell_type": "code", - "execution_count": 52, - "id": "e5dab2bb", - "metadata": { - "ExecuteTime": { - "end_time": "2023-04-03T10:48:11.706425Z", - "start_time": "2023-04-03T10:48:11.665136Z" - } - }, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\RIST\\miniconda3\\lib\\site-packages\\itables\\interactive.py:8: FutureWarning: Importing itables.interactive is deprecated.\n", - "Please execute instead 'from itables import init_notebook_mode; init_notebook_mode(all_interactive=True)'\n", - " warnings.warn(\n" - ] - }, - { - "data": { - "application/javascript": [ - "/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */\n", - "!function(e,t){\"use strict\";\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return t(e)}:t(e)}(\"undefined\"!=typeof window?window:this,function(C,e){\"use strict\";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return\"function\"==typeof e&&\"number\"!=typeof e.nodeType&&\"function\"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement(\"script\");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?n[o.call(e)]||\"object\":typeof e}var f=\"3.6.0\",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&\"length\"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&0+~]|\"+M+\")\"+M+\"*\"),U=new RegExp(M+\"|>\"),X=new RegExp(F),V=new RegExp(\"^\"+I+\"$\"),G={ID:new RegExp(\"^#(\"+I+\")\"),CLASS:new RegExp(\"^\\\\.(\"+I+\")\"),TAG:new RegExp(\"^(\"+I+\"|[*])\"),ATTR:new RegExp(\"^\"+W),PSEUDO:new RegExp(\"^\"+F),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+M+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+M+\"*(?:([+-]|)\"+M+\"*(\\\\d+)|))\"+M+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+R+\")$\",\"i\"),needsContext:new RegExp(\"^\"+M+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+M+\"*((?:-\\\\d)?\\\\d*)\"+M+\"*\\\\)|)(?=[^-]|$)\",\"i\")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\\d$/i,K=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ee=/[+~]/,te=new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}\"+M+\"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\",\"g\"),ne=function(e,t){var n=\"0x\"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ie=function(e,t){return t?\"\\0\"===e?\"\\ufffd\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&\"fieldset\"===e.nodeName.toLowerCase()},{dir:\"parentNode\",next:\"legend\"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],\"string\"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+\" \"]&&(!v||!v.test(t))&&(1!==p||\"object\"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute(\"id\"))?s=s.replace(re,ie):e.setAttribute(\"id\",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?\"#\"+s:\":scope\")+\" \"+xe(l[o]);c=l.join(\",\")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute(\"id\")}}}return g(t.replace($,\"$1\"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+\" \")>b.cacheLength&&delete e[r.shift()],e[t+\" \"]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split(\"|\"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return\"input\"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return(\"input\"===t||\"button\"===t)&&e.type===n}}function ge(t){return function(e){return\"form\"in e?e.parentNode&&!1===e.disabled?\"label\"in e?\"label\"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:\"label\"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&\"undefined\"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||\"HTML\")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener(\"unload\",oe,!1):n.attachEvent&&n.attachEvent(\"onunload\",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement(\"div\")),\"undefined\"!=typeof e.querySelectorAll&&!e.querySelectorAll(\":scope fieldset div\").length}),d.attributes=ce(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute(\"id\")===t}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=\"undefined\"!=typeof e.getAttributeNode&&e.getAttributeNode(\"id\");return t&&t.value===n}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return\"undefined\"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(\"undefined\"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML=\"\",e.querySelectorAll(\"[msallowcapture^='']\").length&&v.push(\"[*^$]=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||v.push(\"\\\\[\"+M+\"*(?:value|\"+R+\")\"),e.querySelectorAll(\"[id~=\"+S+\"-]\").length||v.push(\"~=\"),(t=C.createElement(\"input\")).setAttribute(\"name\",\"\"),e.appendChild(t),e.querySelectorAll(\"[name='']\").length||v.push(\"\\\\[\"+M+\"*name\"+M+\"*=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\":checked\").length||v.push(\":checked\"),e.querySelectorAll(\"a#\"+S+\"+*\").length||v.push(\".#.+[+~]\"),e.querySelectorAll(\"\\\\\\f\"),v.push(\"[\\\\r\\\\n\\\\f]\")}),ce(function(e){e.innerHTML=\"\";var t=C.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&v.push(\"name\"+M+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&v.push(\":enabled\",\":disabled\"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&v.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),v.push(\",.*:\")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,\"*\"),c.call(e,\"[s!='']:x\"),s.push(\"!=\",F)}),v=v.length&&new RegExp(v.join(\"|\")),s=s.length&&new RegExp(s.join(\"|\")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+\" \"]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||\"\").replace(te,ne),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+\" \"];return t||(t=new RegExp(\"(^|\"+M+\")\"+e+\"(\"+M+\"|$)\"))&&m(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||\"undefined\"!=typeof e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?\"!=\"===r:!r||(t+=\"\",\"=\"===r?t===i:\"!=\"===r?t!==i:\"^=\"===r?i&&0===t.indexOf(i):\"*=\"===r?i&&-1\",\"#\"===e.firstChild.getAttribute(\"href\")})||fe(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML=\"\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||fe(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute(\"disabled\")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[\":\"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):\"string\"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\\x20\\t\\r\\n\\f]*)/i,he=/^$|^module$|\\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement(\"div\")),(fe=E.createElement(\"input\")).setAttribute(\"type\",\"radio\"),fe.setAttribute(\"checked\",\"checked\"),fe.setAttribute(\"name\",\"t\"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML=\"\",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML=\"\",y.option=!!ce.lastChild;var ge={thead:[1,\"\",\"
\"],col:[2,\"\",\"
\"],tr:[2,\"\",\"
\"],td:[3,\"\",\"
\"],_default:[0,\"\",\"\"]};function ve(e,t){var n;return n=\"undefined\"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):\"undefined\"!=typeof e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n\",\"\"]);var me=/<|&#?\\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\\s*$/g;function je(e,t){return A(e,\"table\")&&A(11!==t.nodeType?t:t.firstChild,\"tr\")&&S(e).children(\"tbody\")[0]||e}function De(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function qe(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,\"handle events\"),s)for(n=0,r=s[i].length;n\").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on(\"load error\",i=function(e){r.remove(),i=null,e&&t(\"error\"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\\?(?=&|$)|\\?\\?/;S.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=zt.pop()||S.expando+\"_\"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter(\"json jsonp\",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?\"url\":\"string\"==typeof e.data&&0===(e.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Ut.test(e.data)&&\"data\");if(a||\"jsonp\"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,\"$1\"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?\"&\":\"?\")+e.jsonp+\"=\"+r),e.converters[\"script json\"]=function(){return o||S.error(r+\" was not called\"),o[0]},e.dataTypes[0]=\"json\",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),\"script\"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument(\"\").body).innerHTML=\"
\",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return\"string\"!=typeof e?[]:(\"boolean\"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument(\"\")).createElement(\"base\")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(\" \");return-1\").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,\"position\"),c=S(e),f={};\"static\"===l&&(e.style.position=\"relative\"),s=c.offset(),o=S.css(e,\"top\"),u=S.css(e,\"left\"),(\"absolute\"===l||\"fixed\"===l)&&-1<(o+u).indexOf(\"auto\")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),\"using\"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if(\"fixed\"===S.css(r,\"position\"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&\"static\"===S.css(e,\"position\"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,\"borderTopWidth\",!0),i.left+=S.css(e,\"borderLeftWidth\",!0))}return{top:t.top-i.top-S.css(r,\"marginTop\",!0),left:t.left-i.left-S.css(r,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&\"static\"===S.css(e,\"position\"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(t,i){var o=\"pageYOffset\"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each([\"top\",\"left\"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+\"px\":t})}),S.each({Height:\"height\",Width:\"width\"},function(a,s){S.each({padding:\"inner\"+a,content:s,\"\":\"outer\"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||\"boolean\"!=typeof e),i=r||(!0===e||!0===t?\"margin\":\"border\");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf(\"outer\")?e[\"inner\"+a]:e.document.documentElement[\"client\"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body[\"scroll\"+a],r[\"scroll\"+a],e.body[\"offset\"+a],r[\"offset\"+a],r[\"client\"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,\"**\"):this.off(t,e||\"**\",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(e,n){S.fn[n]=function(e,t){return 0" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "\n", - "\n" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "cell_type": "markdown", + "id": "466a0681", + "metadata": {}, "source": [ - "import itables.interactive" + "### 각 Column 에서 na 갯수" ] }, { "cell_type": "code", - "execution_count": 53, - "id": "f871b1fa", - "metadata": { - "ExecuteTime": { - "end_time": "2023-04-03T10:48:21.438174Z", - "start_time": "2023-04-03T10:48:21.402225Z" - } - }, - "outputs": [ - { - "ename": "AttributeError", - "evalue": "'DataFrame' object has no attribute 'show'", - "output_type": "error", - "traceback": [ - "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", - "Input \u001b[1;32mIn [53]\u001b[0m, in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[0m \u001b[43mdf_d2\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mquery\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mHR_CL_LEN == 0\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mshow\u001b[49m()\n", - "File \u001b[1;32m~\\miniconda3\\lib\\site-packages\\pandas\\core\\generic.py:5575\u001b[0m, in \u001b[0;36mNDFrame.__getattr__\u001b[1;34m(self, name)\u001b[0m\n\u001b[0;32m 5568\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (\n\u001b[0;32m 5569\u001b[0m name \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_internal_names_set\n\u001b[0;32m 5570\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m name \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_metadata\n\u001b[0;32m 5571\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m name \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_accessors\n\u001b[0;32m 5572\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_info_axis\u001b[38;5;241m.\u001b[39m_can_hold_identifiers_and_holds_name(name)\n\u001b[0;32m 5573\u001b[0m ):\n\u001b[0;32m 5574\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m[name]\n\u001b[1;32m-> 5575\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mobject\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__getattribute__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[43m)\u001b[49m\n", - "\u001b[1;31mAttributeError\u001b[0m: 'DataFrame' object has no attribute 'show'" - ] - } - ], - "source": [ - "df_d2.query(\"HR_CL_LEN == 0\").show()" - ] - }, - { - "cell_type": "code", - "execution_count": 37, + "execution_count": 24, "id": "6a8a574f", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T08:13:16.206760Z", - "start_time": "2023-04-03T08:13:16.182811Z" + "end_time": "2023-04-11T09:08:48.712804Z", + "start_time": "2023-04-11T09:08:48.680926Z" } }, "outputs": [ @@ -1599,12 +2290,12 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 25, "id": "08c3f796", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T10:07:49.061302Z", - "start_time": "2023-04-03T10:07:49.036364Z" + "end_time": "2023-04-11T09:08:48.745622Z", + "start_time": "2023-04-11T09:08:48.714764Z" } }, "outputs": [ @@ -1614,7 +2305,7 @@ "{0, 23, 26, 29, 30, 508}" ] }, - "execution_count": 44, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -1624,39 +2315,1953 @@ ] }, { - "cell_type": "code", - "execution_count": null, - "id": "50a62fcf", + "cell_type": "markdown", + "id": "0bffda14", "metadata": {}, - "outputs": [], "source": [ - "df2s = [cog_usage.query(f'FCE_NUM == {fce}') for fce in furnaces]" + "## 가열로 번호에 따른 데이터 분리" ] }, { "cell_type": "code", - "execution_count": 22, - "id": "324bdc04", + "execution_count": 26, + "id": "50a62fcf", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T02:16:23.248957Z", - "start_time": "2023-04-03T02:16:22.788135Z" + "end_time": "2023-04-11T09:08:48.780484Z", + "start_time": "2023-04-11T09:08:48.747617Z" } }, "outputs": [], "source": [ - "for col_name in ['CREATION_TIMESTAMP', 'RF_CH_DT', 'RF_DEV_DT', 'HR_ROLL_DATE',]:\n", - " df_d2[col_name] = df_d2[col_name].apply(pd.Timestamp)\n" + "df2s = [df_d2.query(f'RF_NO == {fce}') for fce in furnaces]" ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 27, + "id": "f7942754", + "metadata": { + "ExecuteTime": { + "end_time": "2023-04-11T09:08:48.826408Z", + "start_time": "2023-04-11T09:08:48.782480Z" + } + }, + "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", + "
CREATION_TIMESTAMPMTL_NOOPER_FLAGFAC_OP_CDHR_CL_RL_PRD_FAC_CDWORKS_CODEHR_CH_SCHE_NUMSLAB_NOHR_SL_RL_WGTRF_CH_MAT_THKRF_CH_MAT_LENRF_SVY_MAT_AVG_WHR_ROLL_DATEHR_RL_CL_THKHR_RL_CL_WTHHR_CL_LENRST_HCR_FLAGRF_CH_DTRF_NORF_CH_TPRF_CH_HT_TPRF_CH_MAT_TMRF_CHZ_IN_TMRF_PRHT_TMRF_HT_Z_TMRF_NOR_Z_TMRF_CHZ_IN_MAT_TMRF_PRHT_MAT_TMRF_HT_Z_MAT_TMRF_NOR_Z_MAT_TMRF_CHZ_IN_FCE_TIMERF_REVISE_IN_FCE_TIMERF_PRHT_IN_FCE_TIMERF_HT_Z_IN_FCE_TIMERF_NOR_Z_IN_FCE_TIMERF_IN_FCE_TIMERF_DEV_MAT_TMRF_DEV_TPRF_DEV_CALC_TM_SET_VRF_DEV_DTRL_AC_ROLL_UT_NMHR_STS_ST_CLS_TPHR_C_STE_TP
12019-08-01 00:05:11HRU16885043A43AKHRU682450SQ07510 02112860.0250.06470.01022.02019-08-01 04:31:011.400951.01161C2019-08-01 00:05:561.00.01.045.01014.01238.01244.01194.0596.0874.01174.01176.071.0248.051.073.051.0248.01194.00.01200.02019-08-01 04:14:04HRU316E11
52019-08-01 00:13:52HRU16889043A43AKHRU682440SQ07510 52112940.0250.06470.01028.02019-08-01 04:38:081.400951.01168C2019-08-01 00:14:391.00.01.047.01015.01236.01245.01196.0529.0920.01164.01167.076.0249.039.076.056.0249.01194.00.01200.02019-08-01 04:23:44HRU316E11
92019-08-01 00:24:21HRU16893043A43AKHRU682490SQ07057 51130110.0246.08650.01784.02019-08-01 04:56:5812.2501742.0175C2019-08-01 00:25:041.00.01.047.01018.01236.01246.01199.0546.0880.01133.01143.073.0254.046.071.063.0254.01190.00.01170.02019-08-01 04:39:37HRU317E11
132019-08-01 00:32:02HRU16897043A43AKHRU682550SP45092 04124840.0250.08250.01553.02019-08-01 05:16:532.0351339.01106C2019-08-01 00:32:471.00.01.079.01013.01234.01248.01200.0637.0947.01145.01158.078.0257.050.067.062.0257.01194.00.01190.02019-08-01 04:50:42HRU317E1Q
172019-08-01 00:39:08HRU16901043A43AKHRU682570SP45504 55126690.0250.010070.01360.02019-08-01 05:23:073.7001298.5682C2019-08-01 00:39:531.00.01.097.01005.01234.01246.01202.0556.0978.01156.01163.076.0256.063.055.061.0256.01194.00.01190.02019-08-01 04:56:02HRU317E1G
....................................................................................................................................
423552019-10-30 23:01:26HRX15124043A43AKHRX659790SQ11869 07116690.0250.08700.0994.02019-10-31 03:22:592.400826.01029C2019-10-30 23:02:011.00.01.037.01006.01268.01252.01211.0555.0905.01162.01166.081.0240.045.066.047.0240.01205.00.01185.02019-10-31 03:02:59HRX264E11
423592019-10-30 23:08:22HRX15128043A43AKHRX659830SQ16941 51124650.0250.010670.01225.02019-10-31 03:34:246.0001021.0497C2019-10-30 23:13:411.00.01.0296.01007.01268.01254.01217.0666.0922.01166.01171.078.0245.040.068.057.0245.01211.00.01170.02019-10-31 03:19:14HRX265E11
423632019-10-30 23:16:33HRX15132043A43AKHRX659870SQ16962 01127000.0250.08770.01577.02019-10-31 03:52:564.4001530.0493H2019-10-30 23:27:311.00.01.0363.01009.01268.01259.01220.0708.0952.01175.01180.074.0240.042.063.059.0240.01214.00.01175.02019-10-31 03:28:05HRX265E11
423672019-10-30 23:33:20HRX15136043A43AKHRX659910SQ16962 51127940.0250.09040.01580.02019-10-31 03:54:282.9001530.0772C2019-10-30 23:46:131.00.01.0277.01012.01268.01262.01221.0621.0882.01130.01149.064.0230.042.062.061.0230.01203.00.01175.02019-10-31 03:37:07HRX265E11
423712019-10-30 23:51:17HRX15140043A43AKHRX659950SQ17014 03128250.0250.010510.01375.02019-10-31 04:04:413.5001333.0747H2019-10-30 23:53:011.00.01.0391.01012.01268.01263.01220.0677.0912.01170.01176.069.0237.043.061.062.0237.01213.00.01175.02019-10-31 03:50:32HRX265E11
\n", + "

10581 rows × 43 columns

\n", + "
" + ], + "text/plain": [ + " CREATION_TIMESTAMP MTL_NO OPER_FLAG FAC_OP_CD HR_CL_RL_PRD_FAC_CD \\\n", + "1 2019-08-01 00:05:11 HRU168850 4 3A 43A \n", + "5 2019-08-01 00:13:52 HRU168890 4 3A 43A \n", + "9 2019-08-01 00:24:21 HRU168930 4 3A 43A \n", + "13 2019-08-01 00:32:02 HRU168970 4 3A 43A \n", + "17 2019-08-01 00:39:08 HRU169010 4 3A 43A \n", + "... ... ... ... ... ... \n", + "42355 2019-10-30 23:01:26 HRX151240 4 3A 43A \n", + "42359 2019-10-30 23:08:22 HRX151280 4 3A 43A \n", + "42363 2019-10-30 23:16:33 HRX151320 4 3A 43A \n", + "42367 2019-10-30 23:33:20 HRX151360 4 3A 43A \n", + "42371 2019-10-30 23:51:17 HRX151400 4 3A 43A \n", + "\n", + " WORKS_CODE HR_CH_SCHE_NUM SLAB_NO HR_SL_RL_WGT RF_CH_MAT_THK \\\n", + "1 K HRU682450 SQ07510 021 12860.0 250.0 \n", + "5 K HRU682440 SQ07510 521 12940.0 250.0 \n", + "9 K HRU682490 SQ07057 511 30110.0 246.0 \n", + "13 K HRU682550 SP45092 041 24840.0 250.0 \n", + "17 K HRU682570 SP45504 551 26690.0 250.0 \n", + "... ... ... ... ... ... \n", + "42355 K HRX659790 SQ11869 071 16690.0 250.0 \n", + "42359 K HRX659830 SQ16941 511 24650.0 250.0 \n", + "42363 K HRX659870 SQ16962 011 27000.0 250.0 \n", + "42367 K HRX659910 SQ16962 511 27940.0 250.0 \n", + "42371 K HRX659950 SQ17014 031 28250.0 250.0 \n", + "\n", + " RF_CH_MAT_LEN RF_SVY_MAT_AVG_W HR_ROLL_DATE HR_RL_CL_THK \\\n", + "1 6470.0 1022.0 2019-08-01 04:31:01 1.400 \n", + "5 6470.0 1028.0 2019-08-01 04:38:08 1.400 \n", + "9 8650.0 1784.0 2019-08-01 04:56:58 12.250 \n", + "13 8250.0 1553.0 2019-08-01 05:16:53 2.035 \n", + "17 10070.0 1360.0 2019-08-01 05:23:07 3.700 \n", + "... ... ... ... ... \n", + "42355 8700.0 994.0 2019-10-31 03:22:59 2.400 \n", + "42359 10670.0 1225.0 2019-10-31 03:34:24 6.000 \n", + "42363 8770.0 1577.0 2019-10-31 03:52:56 4.400 \n", + "42367 9040.0 1580.0 2019-10-31 03:54:28 2.900 \n", + "42371 10510.0 1375.0 2019-10-31 04:04:41 3.500 \n", + "\n", + " HR_RL_CL_WTH HR_CL_LEN RST_HCR_FLAG RF_CH_DT RF_NO \\\n", + "1 951.0 1161 C 2019-08-01 00:05:56 1.0 \n", + "5 951.0 1168 C 2019-08-01 00:14:39 1.0 \n", + "9 1742.0 175 C 2019-08-01 00:25:04 1.0 \n", + "13 1339.0 1106 C 2019-08-01 00:32:47 1.0 \n", + "17 1298.5 682 C 2019-08-01 00:39:53 1.0 \n", + "... ... ... ... ... ... \n", + "42355 826.0 1029 C 2019-10-30 23:02:01 1.0 \n", + "42359 1021.0 497 C 2019-10-30 23:13:41 1.0 \n", + "42363 1530.0 493 H 2019-10-30 23:27:31 1.0 \n", + "42367 1530.0 772 C 2019-10-30 23:46:13 1.0 \n", + "42371 1333.0 747 H 2019-10-30 23:53:01 1.0 \n", + "\n", + " RF_CH_TP RF_CH_HT_TP RF_CH_MAT_TM RF_CHZ_IN_TM RF_PRHT_TM \\\n", + "1 0.0 1.0 45.0 1014.0 1238.0 \n", + "5 0.0 1.0 47.0 1015.0 1236.0 \n", + "9 0.0 1.0 47.0 1018.0 1236.0 \n", + "13 0.0 1.0 79.0 1013.0 1234.0 \n", + "17 0.0 1.0 97.0 1005.0 1234.0 \n", + "... ... ... ... ... ... \n", + "42355 0.0 1.0 37.0 1006.0 1268.0 \n", + "42359 0.0 1.0 296.0 1007.0 1268.0 \n", + "42363 0.0 1.0 363.0 1009.0 1268.0 \n", + "42367 0.0 1.0 277.0 1012.0 1268.0 \n", + "42371 0.0 1.0 391.0 1012.0 1268.0 \n", + "\n", + " RF_HT_Z_TM RF_NOR_Z_TM RF_CHZ_IN_MAT_TM RF_PRHT_MAT_TM \\\n", + "1 1244.0 1194.0 596.0 874.0 \n", + "5 1245.0 1196.0 529.0 920.0 \n", + "9 1246.0 1199.0 546.0 880.0 \n", + "13 1248.0 1200.0 637.0 947.0 \n", + "17 1246.0 1202.0 556.0 978.0 \n", + "... ... ... ... ... \n", + "42355 1252.0 1211.0 555.0 905.0 \n", + "42359 1254.0 1217.0 666.0 922.0 \n", + "42363 1259.0 1220.0 708.0 952.0 \n", + "42367 1262.0 1221.0 621.0 882.0 \n", + "42371 1263.0 1220.0 677.0 912.0 \n", + "\n", + " RF_HT_Z_MAT_TM RF_NOR_Z_MAT_TM RF_CHZ_IN_FCE_TIME \\\n", + "1 1174.0 1176.0 71.0 \n", + "5 1164.0 1167.0 76.0 \n", + "9 1133.0 1143.0 73.0 \n", + "13 1145.0 1158.0 78.0 \n", + "17 1156.0 1163.0 76.0 \n", + "... ... ... ... \n", + "42355 1162.0 1166.0 81.0 \n", + "42359 1166.0 1171.0 78.0 \n", + "42363 1175.0 1180.0 74.0 \n", + "42367 1130.0 1149.0 64.0 \n", + "42371 1170.0 1176.0 69.0 \n", + "\n", + " RF_REVISE_IN_FCE_TIME RF_PRHT_IN_FCE_TIME RF_HT_Z_IN_FCE_TIME \\\n", + "1 248.0 51.0 73.0 \n", + "5 249.0 39.0 76.0 \n", + "9 254.0 46.0 71.0 \n", + "13 257.0 50.0 67.0 \n", + "17 256.0 63.0 55.0 \n", + "... ... ... ... \n", + "42355 240.0 45.0 66.0 \n", + "42359 245.0 40.0 68.0 \n", + "42363 240.0 42.0 63.0 \n", + "42367 230.0 42.0 62.0 \n", + "42371 237.0 43.0 61.0 \n", + "\n", + " RF_NOR_Z_IN_FCE_TIME RF_IN_FCE_TIME RF_DEV_MAT_TM RF_DEV_TP \\\n", + "1 51.0 248.0 1194.0 0.0 \n", + "5 56.0 249.0 1194.0 0.0 \n", + "9 63.0 254.0 1190.0 0.0 \n", + "13 62.0 257.0 1194.0 0.0 \n", + "17 61.0 256.0 1194.0 0.0 \n", + "... ... ... ... ... \n", + "42355 47.0 240.0 1205.0 0.0 \n", + "42359 57.0 245.0 1211.0 0.0 \n", + "42363 59.0 240.0 1214.0 0.0 \n", + "42367 61.0 230.0 1203.0 0.0 \n", + "42371 62.0 237.0 1213.0 0.0 \n", + "\n", + " RF_DEV_CALC_TM_SET_V RF_DEV_DT RL_AC_ROLL_UT_NM \\\n", + "1 1200.0 2019-08-01 04:14:04 HRU316E \n", + "5 1200.0 2019-08-01 04:23:44 HRU316E \n", + "9 1170.0 2019-08-01 04:39:37 HRU317E \n", + "13 1190.0 2019-08-01 04:50:42 HRU317E \n", + "17 1190.0 2019-08-01 04:56:02 HRU317E \n", + "... ... ... ... \n", + "42355 1185.0 2019-10-31 03:02:59 HRX264E \n", + "42359 1170.0 2019-10-31 03:19:14 HRX265E \n", + "42363 1175.0 2019-10-31 03:28:05 HRX265E \n", + "42367 1175.0 2019-10-31 03:37:07 HRX265E \n", + "42371 1175.0 2019-10-31 03:50:32 HRX265E \n", + "\n", + " HR_STS_ST_CLS_TP HR_C_STE_TP \n", + "1 1 1 \n", + "5 1 1 \n", + "9 1 1 \n", + "13 1 Q \n", + "17 1 G \n", + "... ... ... \n", + "42355 1 1 \n", + "42359 1 1 \n", + "42363 1 1 \n", + "42367 1 1 \n", + "42371 1 1 \n", + "\n", + "[10581 rows x 43 columns]" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df2s[0]" + ] + }, + { + "cell_type": "markdown", + "id": "a400467c", + "metadata": {}, + "source": [ + "### 가열로 별 NA 분석" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "0a99e04f", + "metadata": { + "ExecuteTime": { + "end_time": "2023-04-11T09:08:48.878901Z", + "start_time": "2023-04-11T09:08:48.832389Z" + }, + "collapsed": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Furnace 1\n", + "CREATION_TIMESTAMP 0\n", + "MTL_NO 0\n", + "OPER_FLAG 0\n", + "FAC_OP_CD 0\n", + "HR_CL_RL_PRD_FAC_CD 0\n", + "WORKS_CODE 0\n", + "HR_CH_SCHE_NUM 0\n", + "SLAB_NO 0\n", + "HR_SL_RL_WGT 0\n", + "RF_CH_MAT_THK 0\n", + "RF_CH_MAT_LEN 0\n", + "RF_SVY_MAT_AVG_W 0\n", + "HR_ROLL_DATE 2\n", + "HR_RL_CL_THK 0\n", + "HR_RL_CL_WTH 0\n", + "HR_CL_LEN 0\n", + "RST_HCR_FLAG 0\n", + "RF_CH_DT 0\n", + "RF_NO 0\n", + "RF_CH_TP 0\n", + "RF_CH_HT_TP 0\n", + "RF_CH_MAT_TM 0\n", + "RF_CHZ_IN_TM 1\n", + "RF_PRHT_TM 1\n", + "RF_HT_Z_TM 1\n", + "RF_NOR_Z_TM 1\n", + "RF_CHZ_IN_MAT_TM 1\n", + "RF_PRHT_MAT_TM 1\n", + "RF_HT_Z_MAT_TM 1\n", + "RF_NOR_Z_MAT_TM 1\n", + "RF_CHZ_IN_FCE_TIME 1\n", + "RF_REVISE_IN_FCE_TIME 1\n", + "RF_PRHT_IN_FCE_TIME 1\n", + "RF_HT_Z_IN_FCE_TIME 1\n", + "RF_NOR_Z_IN_FCE_TIME 1\n", + "RF_IN_FCE_TIME 1\n", + "RF_DEV_MAT_TM 1\n", + "RF_DEV_TP 1\n", + "RF_DEV_CALC_TM_SET_V 1\n", + "RF_DEV_DT 1\n", + "RL_AC_ROLL_UT_NM 113\n", + "HR_STS_ST_CLS_TP 0\n", + "HR_C_STE_TP 0\n", + "Furnace 2\n", + "CREATION_TIMESTAMP 0\n", + "MTL_NO 0\n", + "OPER_FLAG 0\n", + "FAC_OP_CD 0\n", + "HR_CL_RL_PRD_FAC_CD 0\n", + "WORKS_CODE 0\n", + "HR_CH_SCHE_NUM 0\n", + "SLAB_NO 0\n", + "HR_SL_RL_WGT 0\n", + "RF_CH_MAT_THK 0\n", + "RF_CH_MAT_LEN 0\n", + "RF_SVY_MAT_AVG_W 0\n", + "HR_ROLL_DATE 1\n", + "HR_RL_CL_THK 0\n", + "HR_RL_CL_WTH 0\n", + "HR_CL_LEN 0\n", + "RST_HCR_FLAG 0\n", + "RF_CH_DT 0\n", + "RF_NO 0\n", + "RF_CH_TP 0\n", + "RF_CH_HT_TP 0\n", + "RF_CH_MAT_TM 0\n", + "RF_CHZ_IN_TM 4\n", + "RF_PRHT_TM 4\n", + "RF_HT_Z_TM 4\n", + "RF_NOR_Z_TM 4\n", + "RF_CHZ_IN_MAT_TM 4\n", + "RF_PRHT_MAT_TM 4\n", + "RF_HT_Z_MAT_TM 4\n", + "RF_NOR_Z_MAT_TM 4\n", + "RF_CHZ_IN_FCE_TIME 1\n", + "RF_REVISE_IN_FCE_TIME 1\n", + "RF_PRHT_IN_FCE_TIME 1\n", + "RF_HT_Z_IN_FCE_TIME 1\n", + "RF_NOR_Z_IN_FCE_TIME 1\n", + "RF_IN_FCE_TIME 1\n", + "RF_DEV_MAT_TM 4\n", + "RF_DEV_TP 1\n", + "RF_DEV_CALC_TM_SET_V 1\n", + "RF_DEV_DT 1\n", + "RL_AC_ROLL_UT_NM 120\n", + "HR_STS_ST_CLS_TP 0\n", + "HR_C_STE_TP 0\n", + "Furnace 3\n", + "CREATION_TIMESTAMP 0\n", + "MTL_NO 0\n", + "OPER_FLAG 0\n", + "FAC_OP_CD 0\n", + "HR_CL_RL_PRD_FAC_CD 0\n", + "WORKS_CODE 0\n", + "HR_CH_SCHE_NUM 0\n", + "SLAB_NO 0\n", + "HR_SL_RL_WGT 0\n", + "RF_CH_MAT_THK 0\n", + "RF_CH_MAT_LEN 0\n", + "RF_SVY_MAT_AVG_W 0\n", + "HR_ROLL_DATE 3\n", + "HR_RL_CL_THK 0\n", + "HR_RL_CL_WTH 0\n", + "HR_CL_LEN 0\n", + "RST_HCR_FLAG 0\n", + "RF_CH_DT 0\n", + "RF_NO 0\n", + "RF_CH_TP 0\n", + "RF_CH_HT_TP 0\n", + "RF_CH_MAT_TM 0\n", + "RF_CHZ_IN_TM 2\n", + "RF_PRHT_TM 2\n", + "RF_HT_Z_TM 2\n", + "RF_NOR_Z_TM 2\n", + "RF_CHZ_IN_MAT_TM 2\n", + "RF_PRHT_MAT_TM 2\n", + "RF_HT_Z_MAT_TM 2\n", + "RF_NOR_Z_MAT_TM 2\n", + "RF_CHZ_IN_FCE_TIME 1\n", + "RF_REVISE_IN_FCE_TIME 1\n", + "RF_PRHT_IN_FCE_TIME 1\n", + "RF_HT_Z_IN_FCE_TIME 1\n", + "RF_NOR_Z_IN_FCE_TIME 1\n", + "RF_IN_FCE_TIME 1\n", + "RF_DEV_MAT_TM 2\n", + "RF_DEV_TP 1\n", + "RF_DEV_CALC_TM_SET_V 1\n", + "RF_DEV_DT 1\n", + "RL_AC_ROLL_UT_NM 123\n", + "HR_STS_ST_CLS_TP 0\n", + "HR_C_STE_TP 0\n", + "Furnace 4\n", + "CREATION_TIMESTAMP 0\n", + "MTL_NO 0\n", + "OPER_FLAG 0\n", + "FAC_OP_CD 0\n", + "HR_CL_RL_PRD_FAC_CD 0\n", + "WORKS_CODE 0\n", + "HR_CH_SCHE_NUM 0\n", + "SLAB_NO 0\n", + "HR_SL_RL_WGT 0\n", + "RF_CH_MAT_THK 0\n", + "RF_CH_MAT_LEN 0\n", + "RF_SVY_MAT_AVG_W 0\n", + "HR_ROLL_DATE 0\n", + "HR_RL_CL_THK 0\n", + "HR_RL_CL_WTH 0\n", + "HR_CL_LEN 0\n", + "RST_HCR_FLAG 0\n", + "RF_CH_DT 0\n", + "RF_NO 0\n", + "RF_CH_TP 0\n", + "RF_CH_HT_TP 0\n", + "RF_CH_MAT_TM 0\n", + "RF_CHZ_IN_TM 0\n", + "RF_PRHT_TM 0\n", + "RF_HT_Z_TM 0\n", + "RF_NOR_Z_TM 0\n", + "RF_CHZ_IN_MAT_TM 0\n", + "RF_PRHT_MAT_TM 0\n", + "RF_HT_Z_MAT_TM 0\n", + "RF_NOR_Z_MAT_TM 0\n", + "RF_CHZ_IN_FCE_TIME 0\n", + "RF_REVISE_IN_FCE_TIME 0\n", + "RF_PRHT_IN_FCE_TIME 0\n", + "RF_HT_Z_IN_FCE_TIME 0\n", + "RF_NOR_Z_IN_FCE_TIME 0\n", + "RF_IN_FCE_TIME 0\n", + "RF_DEV_MAT_TM 0\n", + "RF_DEV_TP 0\n", + "RF_DEV_CALC_TM_SET_V 0\n", + "RF_DEV_DT 0\n", + "RL_AC_ROLL_UT_NM 129\n", + "HR_STS_ST_CLS_TP 0\n", + "HR_C_STE_TP 0\n" + ] + } + ], + "source": [ + "for i, df2 in enumerate(df2s):\n", + " print (f'Furnace {i+1}')\n", + " for col in df_d2.columns:\n", + " print(col, df2[col].isnull().to_numpy().nonzero()[0].size)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "4864458f", + "metadata": { + "ExecuteTime": { + "end_time": "2023-04-11T09:08:49.009664Z", + "start_time": "2023-04-11T09:08:48.879899Z" + }, + "scrolled": false + }, + "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", + "
CREATION_TIMESTAMPMTL_NOOPER_FLAGFAC_OP_CDHR_CL_RL_PRD_FAC_CDWORKS_CODEHR_CH_SCHE_NUMSLAB_NOHR_SL_RL_WGTRF_CH_MAT_THKRF_CH_MAT_LENRF_SVY_MAT_AVG_WHR_ROLL_DATEHR_RL_CL_THKHR_RL_CL_WTHHR_CL_LENRST_HCR_FLAGRF_CH_DTRF_NORF_CH_TPRF_CH_HT_TPRF_CH_MAT_TMRF_CHZ_IN_TMRF_PRHT_TMRF_HT_Z_TMRF_NOR_Z_TMRF_CHZ_IN_MAT_TMRF_PRHT_MAT_TMRF_HT_Z_MAT_TMRF_NOR_Z_MAT_TMRF_CHZ_IN_FCE_TIMERF_REVISE_IN_FCE_TIMERF_PRHT_IN_FCE_TIMERF_HT_Z_IN_FCE_TIMERF_NOR_Z_IN_FCE_TIMERF_IN_FCE_TIMERF_DEV_MAT_TMRF_DEV_TPRF_DEV_CALC_TM_SET_VRF_DEV_DTRL_AC_ROLL_UT_NMHR_STS_ST_CLS_TPHR_C_STE_TP
73802019-08-14 11:08:22HRV07220043A43AKHRV577980SQ09764 55126070.0250.010300.01306.0NaT3.2351262.00H2019-08-14 11:08:251.00.01.0643.01035.01274.01252.01204.0824.01104.01223.01221.058.0258.061.081.056.0258.01209.00.01210.02019-08-14 15:27:23NaN1Q
311752019-10-10 06:32:56HRX03945043A43AKHRX039450SP50698 56120990.0250.010700.01011.0NaT2.300969.00C2019-10-10 06:33:431.00.01.031.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaTNaN1M
\n", + "
" + ], + "text/plain": [ + " CREATION_TIMESTAMP MTL_NO OPER_FLAG FAC_OP_CD HR_CL_RL_PRD_FAC_CD \\\n", + "7380 2019-08-14 11:08:22 HRV072200 4 3A 43A \n", + "31175 2019-10-10 06:32:56 HRX039450 4 3A 43A \n", + "\n", + " WORKS_CODE HR_CH_SCHE_NUM SLAB_NO HR_SL_RL_WGT RF_CH_MAT_THK \\\n", + "7380 K HRV577980 SQ09764 551 26070.0 250.0 \n", + "31175 K HRX039450 SP50698 561 20990.0 250.0 \n", + "\n", + " RF_CH_MAT_LEN RF_SVY_MAT_AVG_W HR_ROLL_DATE HR_RL_CL_THK \\\n", + "7380 10300.0 1306.0 NaT 3.235 \n", + "31175 10700.0 1011.0 NaT 2.300 \n", + "\n", + " HR_RL_CL_WTH HR_CL_LEN RST_HCR_FLAG RF_CH_DT RF_NO \\\n", + "7380 1262.0 0 H 2019-08-14 11:08:25 1.0 \n", + "31175 969.0 0 C 2019-10-10 06:33:43 1.0 \n", + "\n", + " RF_CH_TP RF_CH_HT_TP RF_CH_MAT_TM RF_CHZ_IN_TM RF_PRHT_TM \\\n", + "7380 0.0 1.0 643.0 1035.0 1274.0 \n", + "31175 0.0 1.0 31.0 NaN NaN \n", + "\n", + " RF_HT_Z_TM RF_NOR_Z_TM RF_CHZ_IN_MAT_TM RF_PRHT_MAT_TM \\\n", + "7380 1252.0 1204.0 824.0 1104.0 \n", + "31175 NaN NaN NaN NaN \n", + "\n", + " RF_HT_Z_MAT_TM RF_NOR_Z_MAT_TM RF_CHZ_IN_FCE_TIME \\\n", + "7380 1223.0 1221.0 58.0 \n", + "31175 NaN NaN NaN \n", + "\n", + " RF_REVISE_IN_FCE_TIME RF_PRHT_IN_FCE_TIME RF_HT_Z_IN_FCE_TIME \\\n", + "7380 258.0 61.0 81.0 \n", + "31175 NaN NaN NaN \n", + "\n", + " RF_NOR_Z_IN_FCE_TIME RF_IN_FCE_TIME RF_DEV_MAT_TM RF_DEV_TP \\\n", + "7380 56.0 258.0 1209.0 0.0 \n", + "31175 NaN NaN NaN NaN \n", + "\n", + " RF_DEV_CALC_TM_SET_V RF_DEV_DT RL_AC_ROLL_UT_NM \\\n", + "7380 1210.0 2019-08-14 15:27:23 NaN \n", + "31175 NaN NaT NaN \n", + "\n", + " HR_STS_ST_CLS_TP HR_C_STE_TP \n", + "7380 1 Q \n", + "31175 1 M " + ] + }, + "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", + "
CREATION_TIMESTAMPMTL_NOOPER_FLAGFAC_OP_CDHR_CL_RL_PRD_FAC_CDWORKS_CODEHR_CH_SCHE_NUMSLAB_NOHR_SL_RL_WGTRF_CH_MAT_THKRF_CH_MAT_LENRF_SVY_MAT_AVG_WHR_ROLL_DATEHR_RL_CL_THKHR_RL_CL_WTHHR_CL_LENRST_HCR_FLAGRF_CH_DTRF_NORF_CH_TPRF_CH_HT_TPRF_CH_MAT_TMRF_CHZ_IN_TMRF_PRHT_TMRF_HT_Z_TMRF_NOR_Z_TMRF_CHZ_IN_MAT_TMRF_PRHT_MAT_TMRF_HT_Z_MAT_TMRF_NOR_Z_MAT_TMRF_CHZ_IN_FCE_TIMERF_REVISE_IN_FCE_TIMERF_PRHT_IN_FCE_TIMERF_HT_Z_IN_FCE_TIMERF_NOR_Z_IN_FCE_TIMERF_IN_FCE_TIMERF_DEV_MAT_TMRF_DEV_TPRF_DEV_CALC_TM_SET_VRF_DEV_DTRL_AC_ROLL_UT_NMHR_STS_ST_CLS_TPHR_C_STE_TP
106312019-08-20 04:27:03HRV10467043A43AKHRV612350SQ09925 55121830.0250.07550.01444.02019-08-20 08:36:592.0351370.00C2019-08-20 04:24:482.00.01.065.0NaNNaNNaNNaNNaNNaNNaNNaN55.0229.039.065.069.0229.0NaN0.01210.02019-08-20 08:14:19NaN1Q
193502019-09-04 14:54:38HRW02029043A43AKHRW520500SQ11875 51125450.0250.09860.01326.02019-09-04 19:14:154.2001108.5668H2019-09-04 14:54:332.00.01.0599.0NaNNaNNaNNaNNaNNaNNaNNaN66.0231.038.069.056.0231.0NaN0.01175.02019-09-04 18:45:46HRW037E11
311762019-10-10 06:34:55HRX03946043A43AKHRX039460SP50698 02121800.0250.011090.0991.0NaT2.300976.00C2019-10-10 06:35:282.00.01.035.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaTNaN1M
336542019-10-15 00:34:45HRX06425043A43AKHRX567770SQ15309 53129790.0250.09390.01608.02019-10-15 05:37:099.6501584.0239C2019-10-15 00:40:142.00.01.082.0NaNNaNNaNNaNNaNNaNNaNNaN86.0271.053.080.050.0271.0NaN0.01185.02019-10-15 05:11:16HRX110E1B
\n", + "
" + ], + "text/plain": [ + " CREATION_TIMESTAMP MTL_NO OPER_FLAG FAC_OP_CD HR_CL_RL_PRD_FAC_CD \\\n", + "10631 2019-08-20 04:27:03 HRV104670 4 3A 43A \n", + "19350 2019-09-04 14:54:38 HRW020290 4 3A 43A \n", + "31176 2019-10-10 06:34:55 HRX039460 4 3A 43A \n", + "33654 2019-10-15 00:34:45 HRX064250 4 3A 43A \n", + "\n", + " WORKS_CODE HR_CH_SCHE_NUM SLAB_NO HR_SL_RL_WGT RF_CH_MAT_THK \\\n", + "10631 K HRV612350 SQ09925 551 21830.0 250.0 \n", + "19350 K HRW520500 SQ11875 511 25450.0 250.0 \n", + "31176 K HRX039460 SP50698 021 21800.0 250.0 \n", + "33654 K HRX567770 SQ15309 531 29790.0 250.0 \n", + "\n", + " RF_CH_MAT_LEN RF_SVY_MAT_AVG_W HR_ROLL_DATE HR_RL_CL_THK \\\n", + "10631 7550.0 1444.0 2019-08-20 08:36:59 2.035 \n", + "19350 9860.0 1326.0 2019-09-04 19:14:15 4.200 \n", + "31176 11090.0 991.0 NaT 2.300 \n", + "33654 9390.0 1608.0 2019-10-15 05:37:09 9.650 \n", + "\n", + " HR_RL_CL_WTH HR_CL_LEN RST_HCR_FLAG RF_CH_DT RF_NO \\\n", + "10631 1370.0 0 C 2019-08-20 04:24:48 2.0 \n", + "19350 1108.5 668 H 2019-09-04 14:54:33 2.0 \n", + "31176 976.0 0 C 2019-10-10 06:35:28 2.0 \n", + "33654 1584.0 239 C 2019-10-15 00:40:14 2.0 \n", + "\n", + " RF_CH_TP RF_CH_HT_TP RF_CH_MAT_TM RF_CHZ_IN_TM RF_PRHT_TM \\\n", + "10631 0.0 1.0 65.0 NaN NaN \n", + "19350 0.0 1.0 599.0 NaN NaN \n", + "31176 0.0 1.0 35.0 NaN NaN \n", + "33654 0.0 1.0 82.0 NaN NaN \n", + "\n", + " RF_HT_Z_TM RF_NOR_Z_TM RF_CHZ_IN_MAT_TM RF_PRHT_MAT_TM \\\n", + "10631 NaN NaN NaN NaN \n", + "19350 NaN NaN NaN NaN \n", + "31176 NaN NaN NaN NaN \n", + "33654 NaN NaN NaN NaN \n", + "\n", + " RF_HT_Z_MAT_TM RF_NOR_Z_MAT_TM RF_CHZ_IN_FCE_TIME \\\n", + "10631 NaN NaN 55.0 \n", + "19350 NaN NaN 66.0 \n", + "31176 NaN NaN NaN \n", + "33654 NaN NaN 86.0 \n", + "\n", + " RF_REVISE_IN_FCE_TIME RF_PRHT_IN_FCE_TIME RF_HT_Z_IN_FCE_TIME \\\n", + "10631 229.0 39.0 65.0 \n", + "19350 231.0 38.0 69.0 \n", + "31176 NaN NaN NaN \n", + "33654 271.0 53.0 80.0 \n", + "\n", + " RF_NOR_Z_IN_FCE_TIME RF_IN_FCE_TIME RF_DEV_MAT_TM RF_DEV_TP \\\n", + "10631 69.0 229.0 NaN 0.0 \n", + "19350 56.0 231.0 NaN 0.0 \n", + "31176 NaN NaN NaN NaN \n", + "33654 50.0 271.0 NaN 0.0 \n", + "\n", + " RF_DEV_CALC_TM_SET_V RF_DEV_DT RL_AC_ROLL_UT_NM \\\n", + "10631 1210.0 2019-08-20 08:14:19 NaN \n", + "19350 1175.0 2019-09-04 18:45:46 HRW037E \n", + "31176 NaN NaT NaN \n", + "33654 1185.0 2019-10-15 05:11:16 HRX110E \n", + "\n", + " HR_STS_ST_CLS_TP HR_C_STE_TP \n", + "10631 1 Q \n", + "19350 1 1 \n", + "31176 1 M \n", + "33654 1 B " + ] + }, + "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", + "
CREATION_TIMESTAMPMTL_NOOPER_FLAGFAC_OP_CDHR_CL_RL_PRD_FAC_CDWORKS_CODEHR_CH_SCHE_NUMSLAB_NOHR_SL_RL_WGTRF_CH_MAT_THKRF_CH_MAT_LENRF_SVY_MAT_AVG_WHR_ROLL_DATEHR_RL_CL_THKHR_RL_CL_WTHHR_CL_LENRST_HCR_FLAGRF_CH_DTRF_NORF_CH_TPRF_CH_HT_TPRF_CH_MAT_TMRF_CHZ_IN_TMRF_PRHT_TMRF_HT_Z_TMRF_NOR_Z_TMRF_CHZ_IN_MAT_TMRF_PRHT_MAT_TMRF_HT_Z_MAT_TMRF_NOR_Z_MAT_TMRF_CHZ_IN_FCE_TIMERF_REVISE_IN_FCE_TIMERF_PRHT_IN_FCE_TIMERF_HT_Z_IN_FCE_TIMERF_NOR_Z_IN_FCE_TIMERF_IN_FCE_TIMERF_DEV_MAT_TMRF_DEV_TPRF_DEV_CALC_TM_SET_VRF_DEV_DTRL_AC_ROLL_UT_NMHR_STS_ST_CLS_TPHR_C_STE_TP
73782019-08-14 11:05:07HRV07218043A43AKHRV577950SQ09764 06126030.0250.010300.01313.0NaT3.2351262.00H2019-08-14 11:04:133.00.01.0672.01034.01279.01249.01206.0854.01121.01222.01220.056.0258.051.078.071.0258.01210.00.01210.02019-08-14 15:23:03NaN1Q
311252019-10-10 04:48:57HRX03895043A43AKHRX540790SQ15117 53128260.0250.010370.01380.02019-10-10 09:11:522.7001272.51008H2019-10-10 04:50:083.00.01.0893.0NaNNaNNaNNaNNaNNaNNaNNaN59.0245.038.081.066.0245.0NaN0.01175.02019-10-10 08:56:05HRX065E11
311772019-10-10 06:43:34HRX03947043A43AKHRX039470SP50698 05121790.0250.010700.01027.0NaT2.300969.00C2019-10-10 06:44:303.00.01.031.0NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaTNaN1M
374852019-10-22 07:00:51HRX10256043A43AKHRX607840SQ15990 06116660.0250.06470.01317.0NaT2.3351220.00C2019-10-22 07:01:323.00.01.0112.01020.01233.01248.01187.0577.0805.01174.01177.075.0257.037.098.046.0257.01184.00.01190.02019-10-22 11:19:09NaN1Q
\n", + "
" + ], + "text/plain": [ + " CREATION_TIMESTAMP MTL_NO OPER_FLAG FAC_OP_CD HR_CL_RL_PRD_FAC_CD \\\n", + "7378 2019-08-14 11:05:07 HRV072180 4 3A 43A \n", + "31125 2019-10-10 04:48:57 HRX038950 4 3A 43A \n", + "31177 2019-10-10 06:43:34 HRX039470 4 3A 43A \n", + "37485 2019-10-22 07:00:51 HRX102560 4 3A 43A \n", + "\n", + " WORKS_CODE HR_CH_SCHE_NUM SLAB_NO HR_SL_RL_WGT RF_CH_MAT_THK \\\n", + "7378 K HRV577950 SQ09764 061 26030.0 250.0 \n", + "31125 K HRX540790 SQ15117 531 28260.0 250.0 \n", + "31177 K HRX039470 SP50698 051 21790.0 250.0 \n", + "37485 K HRX607840 SQ15990 061 16660.0 250.0 \n", + "\n", + " RF_CH_MAT_LEN RF_SVY_MAT_AVG_W HR_ROLL_DATE HR_RL_CL_THK \\\n", + "7378 10300.0 1313.0 NaT 3.235 \n", + "31125 10370.0 1380.0 2019-10-10 09:11:52 2.700 \n", + "31177 10700.0 1027.0 NaT 2.300 \n", + "37485 6470.0 1317.0 NaT 2.335 \n", + "\n", + " HR_RL_CL_WTH HR_CL_LEN RST_HCR_FLAG RF_CH_DT RF_NO \\\n", + "7378 1262.0 0 H 2019-08-14 11:04:13 3.0 \n", + "31125 1272.5 1008 H 2019-10-10 04:50:08 3.0 \n", + "31177 969.0 0 C 2019-10-10 06:44:30 3.0 \n", + "37485 1220.0 0 C 2019-10-22 07:01:32 3.0 \n", + "\n", + " RF_CH_TP RF_CH_HT_TP RF_CH_MAT_TM RF_CHZ_IN_TM RF_PRHT_TM \\\n", + "7378 0.0 1.0 672.0 1034.0 1279.0 \n", + "31125 0.0 1.0 893.0 NaN NaN \n", + "31177 0.0 1.0 31.0 NaN NaN \n", + "37485 0.0 1.0 112.0 1020.0 1233.0 \n", + "\n", + " RF_HT_Z_TM RF_NOR_Z_TM RF_CHZ_IN_MAT_TM RF_PRHT_MAT_TM \\\n", + "7378 1249.0 1206.0 854.0 1121.0 \n", + "31125 NaN NaN NaN NaN \n", + "31177 NaN NaN NaN NaN \n", + "37485 1248.0 1187.0 577.0 805.0 \n", + "\n", + " RF_HT_Z_MAT_TM RF_NOR_Z_MAT_TM RF_CHZ_IN_FCE_TIME \\\n", + "7378 1222.0 1220.0 56.0 \n", + "31125 NaN NaN 59.0 \n", + "31177 NaN NaN NaN \n", + "37485 1174.0 1177.0 75.0 \n", + "\n", + " RF_REVISE_IN_FCE_TIME RF_PRHT_IN_FCE_TIME RF_HT_Z_IN_FCE_TIME \\\n", + "7378 258.0 51.0 78.0 \n", + "31125 245.0 38.0 81.0 \n", + "31177 NaN NaN NaN \n", + "37485 257.0 37.0 98.0 \n", + "\n", + " RF_NOR_Z_IN_FCE_TIME RF_IN_FCE_TIME RF_DEV_MAT_TM RF_DEV_TP \\\n", + "7378 71.0 258.0 1210.0 0.0 \n", + "31125 66.0 245.0 NaN 0.0 \n", + "31177 NaN NaN NaN NaN \n", + "37485 46.0 257.0 1184.0 0.0 \n", + "\n", + " RF_DEV_CALC_TM_SET_V RF_DEV_DT RL_AC_ROLL_UT_NM \\\n", + "7378 1210.0 2019-08-14 15:23:03 NaN \n", + "31125 1175.0 2019-10-10 08:56:05 HRX065E \n", + "31177 NaN NaT NaN \n", + "37485 1190.0 2019-10-22 11:19:09 NaN \n", + "\n", + " HR_STS_ST_CLS_TP HR_C_STE_TP \n", + "7378 1 Q \n", + "31125 1 1 \n", + "31177 1 M \n", + "37485 1 Q " + ] + }, + "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", + "
CREATION_TIMESTAMPMTL_NOOPER_FLAGFAC_OP_CDHR_CL_RL_PRD_FAC_CDWORKS_CODEHR_CH_SCHE_NUMSLAB_NOHR_SL_RL_WGTRF_CH_MAT_THKRF_CH_MAT_LENRF_SVY_MAT_AVG_WHR_ROLL_DATEHR_RL_CL_THKHR_RL_CL_WTHHR_CL_LENRST_HCR_FLAGRF_CH_DTRF_NORF_CH_TPRF_CH_HT_TPRF_CH_MAT_TMRF_CHZ_IN_TMRF_PRHT_TMRF_HT_Z_TMRF_NOR_Z_TMRF_CHZ_IN_MAT_TMRF_PRHT_MAT_TMRF_HT_Z_MAT_TMRF_NOR_Z_MAT_TMRF_CHZ_IN_FCE_TIMERF_REVISE_IN_FCE_TIMERF_PRHT_IN_FCE_TIMERF_HT_Z_IN_FCE_TIMERF_NOR_Z_IN_FCE_TIMERF_IN_FCE_TIMERF_DEV_MAT_TMRF_DEV_TPRF_DEV_CALC_TM_SET_VRF_DEV_DTRL_AC_ROLL_UT_NMHR_STS_ST_CLS_TPHR_C_STE_TP
\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [CREATION_TIMESTAMP, MTL_NO, OPER_FLAG, FAC_OP_CD, HR_CL_RL_PRD_FAC_CD, WORKS_CODE, HR_CH_SCHE_NUM, SLAB_NO, HR_SL_RL_WGT, RF_CH_MAT_THK, RF_CH_MAT_LEN, RF_SVY_MAT_AVG_W, HR_ROLL_DATE, HR_RL_CL_THK, HR_RL_CL_WTH, HR_CL_LEN, RST_HCR_FLAG, RF_CH_DT, RF_NO, RF_CH_TP, RF_CH_HT_TP, RF_CH_MAT_TM, RF_CHZ_IN_TM, RF_PRHT_TM, RF_HT_Z_TM, RF_NOR_Z_TM, RF_CHZ_IN_MAT_TM, RF_PRHT_MAT_TM, RF_HT_Z_MAT_TM, RF_NOR_Z_MAT_TM, RF_CHZ_IN_FCE_TIME, RF_REVISE_IN_FCE_TIME, RF_PRHT_IN_FCE_TIME, RF_HT_Z_IN_FCE_TIME, RF_NOR_Z_IN_FCE_TIME, RF_IN_FCE_TIME, RF_DEV_MAT_TM, RF_DEV_TP, RF_DEV_CALC_TM_SET_V, RF_DEV_DT, RL_AC_ROLL_UT_NM, HR_STS_ST_CLS_TP, HR_C_STE_TP]\n", + "Index: []" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for i, df2 in enumerate(df2s):\n", + " display(df2[df2.drop(\"RL_AC_ROLL_UT_NM\", axis=1).isnull().any(axis=1)])" + ] + }, + { + "cell_type": "code", + "execution_count": 30, "id": "2b2f473f", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T02:16:23.257084Z", - "start_time": "2023-04-03T02:16:23.249987Z" + "end_time": "2023-04-11T09:08:49.025391Z", + "start_time": "2023-04-11T09:08:49.009664Z" } }, "outputs": [], @@ -1669,40 +4274,109 @@ }, { "cell_type": "code", - "execution_count": 24, - "id": "e496a7c4", + "execution_count": 31, + "id": "09a45163", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T02:16:23.332155Z", - "start_time": "2023-04-03T02:16:23.258358Z" + "end_time": "2023-04-11T09:08:49.041997Z", + "start_time": "2023-04-11T09:08:49.026213Z" + } + }, + "outputs": [], + "source": [ + "chz_order = df2s[0].RF_CH_DT.to_numpy().argsort()" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "2fa29957", + "metadata": { + "ExecuteTime": { + "end_time": "2023-04-11T09:13:39.426177Z", + "start_time": "2023-04-11T09:13:39.413060Z" } }, "outputs": [ { "data": { "text/plain": [ - "[]" + "array([ 0, 1, 2, ..., 10578, 10579, 10580], dtype=int64)" ] }, - "execution_count": 24, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "chz_order" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "ca6c36f2", + "metadata": { + "ExecuteTime": { + "end_time": "2023-04-11T09:12:42.352131Z", + "start_time": "2023-04-11T09:12:42.333181Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([1845, 1846, 1847, 1848, 1849, 1850, 1851, 1852, 1853, 1854, 1855,\n", + " 1856, 1857, 1858, 1859, 1860, 1861, 1862, 1863, 1864, 1865, 1866,\n", + " 1867, 1868, 1869, 1870, 1871, 1872, 1873], dtype=int64),)" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "np.where(chz_order != sorted(chz_order))" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "95d8422a", + "metadata": { + "ExecuteTime": { + "end_time": "2023-04-11T09:15:05.582088Z", + "start_time": "2023-04-11T09:15:05.497752Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c4b2b2047abc4463a5cad61bc918c651", + "model_id": "7e0296f97c8d4cc1aac91c2f098f82f5", "version_major": 2, "version_minor": 0 }, - "image/png": "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Aq1atarV59LndTod2rZtW2v8tm3bWvW5cj2tWrWCQqHgvr6CEALx8fG45557EBQUBID7qqnJzs5GSEgIKioq4Orqii+//BLdunWz/OBzPzUNn3zyCfbt24dffvml1nv8N2V/GACbIEmSrF4LIWq1UeO5ke//yj519b+RPgRMmTIFBw8exM6dO2u9x33VNHTp0gUHDhxASUkJPv/8c0RHRyMjI8PyPveT7Z06dQrTp0/Hli1b4OTkdNV+3Ff2g6eAmxAvLy/I5fJa/wuosLCw1v9aoltPq9UCQL3fv1arhdFoRHFxcb19zpw5U2v8P//806rPlespLi5GVVUV9/Vlpk6diq+//hrbtm1D+/btLe3cV02LQqFAYGAg+vXrhwULFqBXr17417/+xf3UhOzbtw+FhYUIDg6Gg4MDHBwckJGRgXfeeQcODg6W74j7yn4wADYhCoUCwcHBSE9Pt2pPT0/HwIEDbVSV/QgICIBWq7X6/o1GIzIyMizff3BwMBwdHa36FBQU4NChQ5Y+ISEh0Ov12Lt3r6XPnj17oNfrrfocOnQIBQUFlj5btmyBUqlEcHBwo25ncyCEwJQpU/DFF19g69atCAgIsHqf+6ppE0KgsrKS+6kJue+++5CdnY0DBw5Yln79+mHcuHE4cOAAOnbsyH1lb27vPSd0LZemgXn//ffF4cOHRVxcnHBxcREnT560dWktQmlpqcjKyhJZWVkCgEhJSRFZWVmWaXaSk5OFWq0WX3zxhcjOzhaPP/54ndMgtG/fXnz//fdi//79YujQoXVOg9CzZ0+xe/dusXv3btGjR486p0G47777xP79+8X3338v2rdvz2kQLnruueeEWq0W27dvFwUFBZalvLzc0of7qmmYNWuW+PHHH8WJEyfEwYMHRUJCgpDJZGLLli1CCO6npuzyu4CF4L6yNwyATdDSpUuFv7+/UCgUom/fvpapL+jmbdu2TQCotURHRwshaqZCSExMFFqtViiVSjFkyBCRnZ1tNcaFCxfElClThKenp1CpVOKBBx4QeXl5Vn3OnTsnxo0bJ9zc3ISbm5sYN26cKC4uturz+++/i5EjRwqVSiU8PT3FlClTREVFRWNufrNR1z4CINasWWPpw33VNDz99NOWv1dt2rQR9913nyX8CcH91JRdGQC5r+yLJIQQtjn2SERERES2wGsAiYiIiOwMAyARERGRnWEAJCIiIrIzDIBEREREdoYBkIiIiMjOMAASERER2RkGQCIiIiI7wwBIREREZGcYAImIiIjsDAMgERERkZ1hACQiIiKyMwyARERERHaGAZCIiIjIzjAAEhEREdkZBkAiIiIiO8MASERERGRnGACJiIiI7AwDIBEREZGdYQAkIiIisjMMgERERER2hgGQiIiIyM4wABIRERHZGQZAIiIiIjvDAEhERERkZxgAiYiIiOwMAyARERGRnWEAJCIiIrIzDIBEREREdoYBkIiIiMjOMAASERER2RkGQCIiIiI78//PqveBWku5cAAAAABJRU5ErkJggg==", + "image/png": "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", "text/html": [ "\n", "
\n", "
\n", " Figure\n", "
\n", - " \n", + " \n", "
\n", " " ], @@ -1717,56 +4391,70 @@ "source": [ "plt.figure()\n", "#plt.plot(slab_time.CREATION_TIMESTAMP)\n", - "plt.plot(slab_time.RF_CH_DT)\n", - "plt.plot(slab_time.RF_DEV_DT)\n", - "plt.plot(slab_time.HR_ROLL_DATE)" + "plt.plot(df2s[0].RF_CH_DT.to_numpy())\n", + "plt.plot(df2s[0].RF_DEV_DT.to_numpy())\n", + "plt.plot(df2s[0].HR_ROLL_DATE.to_numpy())" ] }, { "cell_type": "code", - "execution_count": 25, - "id": "09a45163", + "execution_count": 38, + "id": "08e62bdd", "metadata": { "ExecuteTime": { - "end_time": "2023-04-03T02:16:23.347288Z", - "start_time": "2023-04-03T02:16:23.334116Z" - } - }, - "outputs": [], - "source": [ - "chz_order = slab_time.RF_CH_DT.to_numpy().argsort()" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "ca6c36f2", - "metadata": { - "ExecuteTime": { - "end_time": "2023-04-03T02:16:23.362280Z", - "start_time": "2023-04-03T02:16:23.352284Z" + "end_time": "2023-04-11T09:13:16.826644Z", + "start_time": "2023-04-11T09:13:16.739106Z" } }, "outputs": [ { "data": { "text/plain": [ - "array([ 0, 1, 2, ..., 36548, 26350, 18191], dtype=int64)" + "[]" ] }, - "execution_count": 26, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2cbd40afb26e4474b192bd5c7766747a", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "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", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "chz_order" + "plt.figure()\n", + "#plt.plot(slab_time.CREATION_TIMESTAMP)\n", + "plt.plot(df2s[0].RF_CH_DT.to_numpy()[chz_order])\n", + "plt.plot(df2s[0].RF_DEV_DT.to_numpy()[chz_order])\n", + "plt.plot(df2s[0].HR_ROLL_DATE.to_numpy()[chz_order])" ] }, { "cell_type": "code", "execution_count": 27, - "id": "95d8422a", + "id": "fbbc03cf", "metadata": { "ExecuteTime": { "end_time": "2023-04-03T02:16:23.444843Z", @@ -1494972,9 +1497660,14 @@ "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, - "toc_position": {}, + "toc_position": { + "height": "calc(100% - 180px)", + "left": "10px", + "top": "150px", + "width": "384px" + }, "toc_section_display": true, - "toc_window_display": false + "toc_window_display": true }, "varInspector": { "cols": { diff --git a/COG-Modeling-Data/untitled.txt b/COG-Modeling-Data/untitled.txt new file mode 100644 index 0000000..efff87b --- /dev/null +++ b/COG-Modeling-Data/untitled.txt @@ -0,0 +1,30 @@ +열연 조업 실적 + +NA 데이터 패턴 +전체 NA Row 개수 511 +RL_AC_ROLL_UT_NM Column NA 갯수 508 +RL_AC_ROLL_UT_NM제외 NA Row 개수 33 +Slab 중량/치수 누락 == 장입 시점 누락 == 23 +가열로 내 분위기/소재 온도 누락 30 +재로시간 누락 26 + +Column 별 누락 관계 분석 + +Furnace 별로 데이터 분리 후 관계 분석 +1 가열로 (2개) + - ROLL_DATE 누락 (2개) + - Slab 로내 온도, 재로 시간, 추출 시각 누락 (1개) + +2 가열로 (4개) + - 로내 온도 (4개) + - 재로 시간, 추출 시각 (1개) + +3 가열로 (4개) + - ROLL_DATE (3개) + - 로내 온도 (2개) + - 재로 시간, 추출 시각 (1개) + +1~3 가열로 재로 시간, 추출 시각 고장 시점 +2019-10-10 06:33:43 +2019-10-10 06:35:28 +2019-10-10 06:44:30 diff --git a/COG-Modeling-Data/압연지시-조업실적 데이터 항목 차이.ipynb b/COG-Modeling-Data/압연지시-조업실적 데이터 항목 차이.ipynb new file mode 100644 index 0000000..0990871 --- /dev/null +++ b/COG-Modeling-Data/압연지시-조업실적 데이터 항목 차이.ipynb @@ -0,0 +1,239 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 2, + "id": "b4fa3650", + "metadata": { + "ExecuteTime": { + "end_time": "2023-04-11T01:54:30.752356Z", + "start_time": "2023-04-11T01:54:30.736900Z" + } + }, + "outputs": [], + "source": [ + "direction_tags = '''\\\n", + "CREATION_TIMESTAMP\n", + "INDI_MTL_NO\n", + "MTL_NO\n", + "OPER_FLAG\n", + "FAC_OP_CD\n", + "OP_DN_DT\n", + "RL_ROLL_UT_NM\n", + "RL_RL_UT_TR_SEQ\n", + "RF_CH_LOT_NUM\n", + "HR_ROLL_DIR_DATE\n", + "SLAB_NO\n", + "OP_PLAN_HCR_TP\n", + "CC_HCR_FLAG\n", + "CTL_INDI_HCR_TP\n", + "CL_PLT_INDI_THK\n", + "CL_PLT_INDI_WTH\n", + "SLAB_THK\n", + "SLAB_WTH\n", + "SLAB_LTH\n", + "SLAB_WGT\n", + "HR_HR_THK_SET_TOL_MIN\n", + "HR_HR_THK_SET_TOL_MAX\n", + "HR_PROD_THK_AIM\n", + "HR_PROD_WTH_AIM\n", + "HR_BAR_EH_ESD_TARG_TM\n", + "HR_BAR_EH_OT_TARG_TM\n", + "'''.split()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "07262d46", + "metadata": { + "ExecuteTime": { + "end_time": "2023-04-11T01:54:30.906088Z", + "start_time": "2023-04-11T01:54:30.896248Z" + } + }, + "outputs": [], + "source": [ + "history_tags = '''\\\n", + "CREATION_TIMESTAMP\n", + "MTL_NO\n", + "OPER_FLAG\n", + "FAC_OP_CD\n", + "HR_CL_RL_PRD_FAC_CD\n", + "WORKS_CODE\n", + "HR_CH_SCHE_NUM\n", + "SLAB_NO\n", + "HR_SL_RL_WGT\n", + "RF_CH_MAT_THK\n", + "RF_CH_MAT_LEN\n", + "RF_SVY_MAT_AVG_W\n", + "HR_ROLL_DATE\n", + "HR_RL_CL_THK\n", + "HR_RL_CL_WTH\n", + "HR_CL_LEN\n", + "RST_HCR_FLAG\n", + "RF_CH_DT\n", + "RF_NO\n", + "RF_CH_TP\n", + "RF_CH_HT_TP\n", + "RF_CH_MAT_TM\n", + "RF_CHZ_IN_TM\n", + "RF_PRHT_TM\n", + "RF_HT_Z_TM\n", + "RF_NOR_Z_TM\n", + "RF_CHZ_IN_MAT_TM\n", + "RF_PRHT_MAT_TM\n", + "RF_HT_Z_MAT_TM\n", + "RF_NOR_Z_MAT_TM\n", + "RF_CHZ_IN_FCE_TIME\n", + "RF_REVISE_IN_FCE_TIME\n", + "RF_PRHT_IN_FCE_TIME\n", + "RF_HT_Z_IN_FCE_TIME\n", + "RF_NOR_Z_IN_FCE_TIME\n", + "RF_IN_FCE_TIME\n", + "RF_DEV_MAT_TM\n", + "RF_DEV_TP\n", + "RF_DEV_CALC_TM_SET_V\n", + "RF_DEV_DT\n", + "RL_AC_ROLL_UT_NM\n", + "HR_STS_ST_CLS_TP\n", + "HR_C_STE_TP\n", + "'''.split()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "600bc146", + "metadata": { + "ExecuteTime": { + "end_time": "2023-04-11T01:54:31.044035Z", + "start_time": "2023-04-11T01:54:31.035729Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "21" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(set(direction_tags) - set(history_tags))" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "b85c049f", + "metadata": { + "ExecuteTime": { + "end_time": "2023-04-11T01:54:31.183700Z", + "start_time": "2023-04-11T01:54:31.168877Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "CC_HCR_FLAG\n", + "OP_DN_DT\n", + "SLAB_WTH\n", + "HR_BAR_EH_ESD_TARG_TM\n", + "CL_PLT_INDI_WTH\n", + "HR_PROD_WTH_AIM\n", + "RF_CH_LOT_NUM\n", + "HR_ROLL_DIR_DATE\n", + "SLAB_WGT\n", + "SLAB_LTH\n", + "HR_PROD_THK_AIM\n", + "HR_BAR_EH_OT_TARG_TM\n", + "INDI_MTL_NO\n", + "OP_PLAN_HCR_TP\n", + "CTL_INDI_HCR_TP\n", + "SLAB_THK\n", + "HR_HR_THK_SET_TOL_MAX\n", + "RL_ROLL_UT_NM\n", + "HR_HR_THK_SET_TOL_MIN\n", + "CL_PLT_INDI_THK\n", + "RL_RL_UT_TR_SEQ\n" + ] + } + ], + "source": [ + "for tag in (set(direction_tags) - set(history_tags)):\n", + " print(tag)" + ] + } + ], + "metadata": { + "hide_input": false, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.12" + }, + "toc": { + "base_numbering": 1, + "nav_menu": {}, + "number_sections": true, + "sideBar": true, + "skip_h1_title": false, + "title_cell": "Table of Contents", + "title_sidebar": "Contents", + "toc_cell": false, + "toc_position": {}, + "toc_section_display": true, + "toc_window_display": false + }, + "varInspector": { + "cols": { + "lenName": 16, + "lenType": 16, + "lenVar": 40 + }, + "kernels_config": { + "python": { + "delete_cmd_postfix": "", + "delete_cmd_prefix": "del ", + "library": "var_list.py", + "varRefreshCmd": "print(var_dic_list())" + }, + "r": { + "delete_cmd_postfix": ") ", + "delete_cmd_prefix": "rm(", + "library": "var_list.r", + "varRefreshCmd": "cat(var_dic_list()) " + } + }, + "types_to_exclude": [ + "module", + "function", + "builtin_function_or_method", + "instance", + "_Feature" + ], + "window_display": false + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}