DB_CONFIG = { "host": "100.105.75.47", "port": 5432, "dbname": "postgres", "user": "postgres", "password": "",}
Non-PD : 1.22 Test Carplay type-C, 1.23 Test Carplay usb
PD : 1.12_Test_Carplay_Type-C(B_side), 1.13_Test_Carplay_Type-A
모두 2025년 11월 데이터만
스키마 : c1_fct_detail, 테이블 : fct_detail
컬럼 remark의 속성값 ‘PD’, ‘Non-PD’별로 구분
컬럼 end_day, end_time의 속성값을 오름차순 정렬
컬럼 remark의 속성값 ‘Non-PD’ 인 경우
3-1) 컬럼 contents의 속성값
START :: 1.22 Test Carplay type-C, 테스트 결과 : OK or 테스트 결과 : NG(contents : START :: 1.23 Test Carplay usb 이 나오기 바로 전)
START :: 1.23 Test Carplay usb, 테스트 결과 : OK or 테스트 결과 : NG(contents : START :: 1.24 Test USB2 error 이 나오기 바로 전)
→ 순서대로 한 묶음 될 것
예시) 컬럼 end_day와 end_time의 속성값을 오름차순했을 때
contents : START :: 1.22 Test Carplay type-C → 해당
contents : 테스트 결과 : NG → 해당 안됨
contents : 테스트 결과 : OK → 해당됨
contents : START :: 1.23 Test Carplay usb → 해당
contents : 테스트 결과 : NG → 해당 안됨
contents : 테스트 결과 : OK → 해당됨
contents : START :: 1.24 Test USB2 error → 해당 안됨
컬럼 remark의 속성값 ‘PD’ 인 경우
3-1) 컬럼 contents의 속성값
START :: 1.12_Test_Carplay_Type-C(B_side), 테스트 결과 : OK or 테스트 결과 : NG(START :: 1.13_Test_Carplay_Type-A이 나오기 바로 전)
START :: 1.13_Test_Carplay_Type-A, 테스트 결과 : OK or 테스트 결과 : NG(START :: 1.14 Profile Count Check 이 나오기 바로 전)
→ 순서대로 한 묶음 될 것
예시) 컬럼 end_day와 end_time의 속성값을 오름차순했을 때
contents : START :: 1.12_Test_Carplay_Type-C(B_side) → 해당
contents : 테스트 결과 : NG → 해당 안됨
contents : 테스트 결과 : OK → 해당됨
contents : START :: 1.13_Test_Carplay_Type-A → 해당
contents : 테스트 결과 : NG → 해당 안됨
contents : 테스트 결과 : OK → 해당됨
contents : START :: 1.14 Profile Count Check → 해당 안됨
각 검사 번호와 결과 간의 컬럼 test_time의 속성값의 차를 컬럼 test_ct의 속성값으로 기입
컬럼 barcode_information의 속성값이 같은 것들끼리 군집하여 리스트하여 첨부파일과 같이 2개의 dataframe 출력
컬럼 [barcode_information, remark, end_day, end_time, contents, test_time, test_ct(새로운 컬럼)]
예시)
| barcode_information | remark | end_day | end_time | contents | test_time | test_ct |
|---|---|---|---|---|---|---|
| BA1WJ25283501271UPC3T-14F014-AC | Non-PD | 20251010 | 232141 | contents : START :: 1.22 Test Carplay type-C | 16:18:24.68 | null |
| BA1WJ25283501271UPC3T-14F014-AC | Non-PD | 20251010 | 232141 | contents : 테스트 결과 : OK | 16:18:25.68 | 1.00 |
| BA1WJ25283501271UPC3T-14F014-AC | Non-PD | 20251010 | 232141 | contents : START :: 1.23 Test Carplay usb | 16:18:26.88 | null |
| BA1WJ25283501271UPC3T-14F014-AC | Non-PD | 20251010 | 232141 | contents : 테스트 결과 : OK | 16:18:27.88 | 1.00 |
| barcode_information | remark | end_day | end_time | contents | test_time | test_ct |
|---|---|---|---|---|---|---|
| BA1WJ25349502375USJ8T-14F014-AF | PD | 20251010 | 232141 | contents : START :: 1.22 Test Carplay type-C | 16:18:24.68 | null |
| BA1WJ25349502375USJ8T-14F014-AF | PD | 20251010 | 232141 | contents : 테스트 결과 : OK | 16:18:25.68 | 1.00 |
| BA1WJ25349502375USJ8T-14F014-AF | PD | 20251010 | 232141 | contents : START :: 1.23 Test Carplay usb | 16:18:26.88 | null |
| BA1WJ25349502375USJ8T-14F014-AF | PD | 20251010 | 232141 | contents : 테스트 결과 : OK | 16:18:27.88 | 1.00 |
각 test_ct을 boxplot하여 컬럼 upper_outlier로 분류된 행의 컬럼 barcode_information, remark, end_day, end_time, test_ct, upper_outlier_rng 의 속성값들을 첨부파일과 같이 2개의 dataframe으로 출력할 것
| barcode_information | remark | end_day | end_time | test_ct | upper_outlier_rng |
|---|---|---|---|---|---|
| BA1WJ25283501271UPC3T-14F014-AC | Non-PD | 20251010 | 232141 | 1.00 | 0.90~2.00 |
| BA1WJ25283501271UPC3T-14F014-AC | Non-PD | 20251010 | 232141 | 1.00 | 0.90~2.00 |
| BA1WJ25283501277PC3T-14F014-AC | Non-PD | 20251010 | 232141 | 1.00 | 0.90~2.00 |
| BA1WJ25283501277PC3T-14F014-AC | Non-PD | 20251010 | 232141 | 1.00 | 0.90~2.00 |
| barcode_information | remark | end_day | end_time | test_ct | upper_outlier_rng |
|---|---|---|---|---|---|
| BA1WJ25349502375USJ8T-14F014-AF | PD | 20251010 | 232141 | 1.00 | 0.90~2.00 |
| BA1WJ25349502375USJ8T-14F014-AF | PD | 20251010 | 232141 | 1.00 | 0.90~2.00 |
| BA1WJ25349502544USJ8T-14F014-AF | PD | 20251010 | 232141 | 1.00 | 0.90~2.00 |
| BA1WJ25349502544USJ8T-14F014-AF | PD | 20251010 | 232141 | 1.00 | 0.90~2.00 |
컬럼 test_ct 중 상위 5%의 컬럼 barcode_information의 속성값 출력
| barcode_information | remark | end_day | end_time | top5_percent_test_ct |
|---|---|---|---|---|
| BA1WJ25349502375USJ8T-14F014-AF | PD | 20251010 | 232141 | 23257.72 |
| BA1WJ25349502375USJ8T-14F014-AF | PD | 20251010 | 232141 | 23257.62 |
| BA1WJ25349502544USJ8T-14F014-AF | PD | 20251010 | 232141 | 23257.52 |
| BA1WJ25349502544USJ8T-14F014-AF | PD | 20251010 | 232141 | 23257.32 |
컬럼 barcode_information, end_day, end_time의 속성값을 스키마 : a2_fct_table, 테이블 : fct_table 의 컬럼 barcode_information, end_day, end_time의 속성값을 매칭시켜 컬럼 station, run_time, result의 속성값을 추가로 가지고 올것
컬럼 순서는 barcode_information, remark, end_day, end_time, run_time, start_contents, result_contents, max_test_ct, upper_outlier_rng 순서일 것
| linux_problem_barcode_information | remark | end_day | end_time | run_time | test_ct | result |
|---|---|---|---|---|---|---|
| BA1WJ25349502375USJ8T-14F014-AF | PD | 20251010 | 232141 | 2.00 | ||
| BA1WJ25349502375USJ8T-14F014-AF | PD | 20251010 | 232141 | 1.00 | ||
| BA1WJ25349502544USJ8T-14F014-AF | PD | 20251010 | 232141 | 1.00 | ||
| BA1WJ25349502544USJ8T-14F014-AF | PD | 20251010 | 232141 | 1.00 |
해당 컬럼 end_day과 end_time의 속성값이 같은 행의 run_time기준을 산출해서 outlier리스트와 비교