DB_CONFIG = {"host": "100.105.75.47", "port": 5432, "dbname": "postgres", "user": "postgres", "password": "",}

  1. 스키마 : d1_machine_log, 테이블 : FCT1~4_machine_log(FCT1~4별로 분류되어 있음) → 컬럼 station : FCT1~4로 분류할 것

    1. 컬럼 contents : TEST RESULT :: OK or NG, 컬럼 contents : TEST AUTO MODE START ======== 까지의 컬럼 end_time의 속성값 간의 차이를 산출

    순서는 반드시 컬럼 contents : TEST RESULT :: OK or NG → 컬럼 contents : TEST AUTO MODE START ======== 순서만 해당

    1. GMM(가우시안 혼합 모델)으로

    gmm_components(선택된 분포 개수) : 4

    gmm_bic(모델 적합도 점수)

    fast_mean_sec(즉시 SWAP 평균) / fast_ratio(즉시 SWAP 비율)

    medium_mean_sec(2번째 대기층 평균) / medium_ratio(2번째 대기층 비율)

    slow_mean_sec(최후 대기층 평균) / slow_ratio(심각 병목 비율)

    gap_max_sec_applied(정지컷 상한)을 구할 것, 단 소수점 3자리에서 반올림해서 2자리까지 표현할 것

    1. 컬럼 end_day 속성값을 월 단위 종합하여 컬럼 month에 속성값으로 넣을 것

    예시) 20260105, 20260104 → 202501

    1. 컬럼[station, month, sample_amount, gmm_components, gmm_bic, fast_mean_sec, fast_ratio, medium_mean_sec, medium_ratio, slow_mean_sec, slow_ratio, gap_max_sec_applied, note 순서로 dataframe 산출

    2. 컬럼 slow_mean_sec, medium2_mean_sec 속성값을 하나의 값으로 보고 boxplot하여 lower_outlier, q1, median, q3, upper_outlier, del_out_av(lower & upper outlier를 제거하고 나머지로 평균한 값)을 구할 것

    단, 소수점 3자리에서 반올림해서 소수점 2자리 까지 표현

    1. month 속성값 별로 나누지말고 통합, FCT별로 나누지 말고 FCT1과 FCT2를 통합 / FCT3과 FCT4를 통합

    2. 컬럼 [station : FCT, month : (예시 202508~202601), sample_amount, del_out_av, lower_outlier, q1, median, q3, upper_outlier] 순서로 dataframe 출력

    3. 스키마 : g_production_film(이미 있음), 테이블(없으면 만들 것, 있으면 update할 것) : op_ct_gap 으로 저장할 것

    station month sample_amount del_out_av lower_outlier q1 median q3 upper_outlier
    FCT1 202512 6,519 22.5 22.0~22.0 15 20 25 39.0~595.0
    FCT2 202512 6,519 22.5 22.0~22.0 15 20 25 39.0~595.0
    FCT3 202512 6,519 22.5 22.0~22.0 15 20 25 39.0~595.0
    FCT4 202512 6,519 22.5 22.0~22.0 15 20 25 39.0~595.0

DB_CONFIG = {"host": "100.105.75.47", "port": 5432, "dbname": "postgres", "user": "postgres", "password": "",}

  1. 스키마 : d1_machine_log, 테이블 : Vision1~2_machine_log(Vision1~2별로 분류되어 있음) → 컬럼 station : Vision1~2로 분류할 것

    1. 컬럼 contents : “검사 양품 신호 출력” or “검사 불량 신호 출력”, 컬럼 contents : “바코드 스캔 신호 수신” 까지의 컬럼 end_time의 속성값 간의 차이를 산출

    순서는 반드시 컬럼 contents : “검사 양품 신호 출력” or “검사 불량 신호 출력” → 컬럼 contents : “바코드 스캔 신호 수신”순서만 해당

    1. GMM(가우시안 혼합 모델)으로

    gmm_components(선택된 분포 개수) : 3

    gmm_bic(모델 적합도 점수)

    fast_mean_sec(즉시 SWAP 평균) / fast_ratio(즉시 SWAP 비율)

    medium_mean_sec(2번째 대기층 평균) / medium_ratio(2번째 대기층 비율)

    slow_mean_sec(최후 대기층 평균) / slow_ratio(심각 병목 비율)

    gap_max_sec_applied(정지컷 상한)을 구할 것, 단 소수점 3자리에서 반올림해서 2자리까지 표현할 것

    1. 컬럼 end_day 속성값을 월 단위 종합하여 컬럼 month에 속성값으로 넣을 것

    예시) 20260105, 20260104 → 202501

    1. 컬럼[station, month, sample_amount, gmm_components, gmm_bic, fast_mean_sec, fast_ratio, medium_mean_sec, medium_ratio, slow_mean_sec, slow_ratio, gap_max_sec_applied, note 순서로 dataframe 산출

    2. 컬럼 slow_mean_sec, medium2_mean_sec 속성값을 하나의 값으로 보고 boxplot하여 lower_outlier, q1, median, q3, upper_outlier, del_out_av(lower & upper outlier를 제거하고 나머지로 평균한 값)을 구할 것

    3. month 속성값 별로 나누지말고 통합,

    4. 컬럼 [station : Vision1~2, month : (예시 202508~202601), sample_amount, del_out_av, lower_outlier, q1, median, q3, upper_outlier] 순서로 dataframe 출력

    5. 스키마 : g_production_film(이미 있음), 테이블(없으면 만들 것, 있으면 update할 것) : op_ct_gap 으로 저장할 것

    station month sample_amount del_out_av lower_outlier q1 median q3 upper_outlier
    Vision1 202512 6,519 22.5 22.0~22.0 15 20 25 39.0~595.0
    Vision2 202512 6,519 22.5 22.0~22.0 15 20 25 39.0~595.0