import numpy as npimport pandas as pdfrom scipy.spatial.distance import euclidean# 시계열 데이터를 기준 길이로 확장하는 함수 (단순 확장 + 마지막 N개 평균으로 패딩)def extend_series_with_tail_avg(series, target_length, tail_window=10): # 유효 데이터: 전체를 그대로 사용 truncated = series.copy() current_len = len(truncated) # 마지막 N개 평균 구하기 if current_len >= tail_window: avg_tail = np.mean(truncated[-tail_window:]) el..
분류 전체보기

센서 데이터가 서로 다른 길이를 갖고 있고, 일부는 센서 고장으로 0으로 끊긴 경우까지 고려한 보간 + 거리 계산 프로그램입니다. 이 코드는 다음과 같은 구조로 설계되어 있습니다:1. 목표**- 길이가 다른 센서 데이터를 **동일한 길이로 보간(interpolate)- 센서 중 일부는 고장으로 **데이터가 조기 종료**되는 경우 존재- 보간 후 **센서 간 유클리디안 거리 계산**2. 핵심 설계 포인트- **0값으로 센서가 멈췄을 경우**, 그 시점까지만 유효 데이터로 판단하여 보간- 센서 간 거리는 `scipy.spatial.distance.euclidean`으로 계산- 센서별로 하나의 기준 길이(`target_length`)로 보간 처리3. 주요 함수 설명- 센서 데이터에서 유효 값(0이 아닌 구간)..

시계열 데이터의 유사성을 측정하는 방법은 다양한 분석 목적과 데이터의 특성에 따라 여러 가지가 있습니다. 주요 방법들을 소개하겠습니다.## 1. 유클리드 거리(Euclidean Distance)가장 기본적인 방법으로, 두 시계열 데이터 간의 각 시점에서의 차이를 제곱하여 합산한 후 제곱근을 취하는 방식입니다. 이 방법은 계산이 간단하지만, 시계열의 길이가 다르거나 시간 축이 어긋난 경우에는 적절하지 않을 수 있습니다.## 2. 동적 시간 왜곡(Dynamic Time Warping, DTW)DTW는 두 시계열의 시간 축이 다를 때도 유사성을 측정할 수 있는 방법입니다. 시간 축을 유연하게 조정하여 두 시계열 간의 최적의 매칭을 찾습니다. 이는 특히 패턴의 발생 시점이 다를 수 있는 경우에 유용합니다.#..

길이가 다른 시계열 데이터를 비교하는 다양한 방법들의 Python 예제 코드를 제공해 드리겠습니다.위 코드는 길이가 다른 시계열 데이터를 비교하는 7가지 주요 방법의 예제를 포함하고 있습니다. 각 방법별 설명과 사용법은 다음과 같습니다:1. **리샘플링 + 유클리드 거리** - 두 시계열을 동일한 길이로 리샘플링한 후 유클리드 거리 계산 - `scipy.interpolate.interp1d`를 사용하여 선형 보간 수행2. **DTW (Dynamic Time Warping)** - `tslearn` 라이브러리의 `dtw` 함수 사용 - 길이가 다른 시계열 간 최적의 정렬 경로를 찾아 거리 계산3. **FastDTW** - `fastdtw` 라이브러리 사용 - DTW의 계산 복잡성을 개..
길이가 다른 시계열 데이터를 비교하기 위한 전처리 방법은 여러 가지가 있습니다. 주요 방법을 소개해 드리겠습니다:1. **리샘플링(Resampling)**: 더 긴 시계열을 더 짧은 시계열의 길이에 맞춰 다운샘플링하거나, 더 짧은 시계열을 더 긴 시계열에 맞춰 업샘플링할 수 있습니다.2. **보간법(Interpolation)**: 짧은 시계열에 보간법을 적용하여 더 긴 시계열과 같은 길이로 만들 수 있습니다. 선형 보간, 스플라인 보간 등의 방법이 있습니다.3. **DTW(Dynamic Time Warping)**: 시계열의 길이가 다르더라도 유사성을 측정할 수 있는 알고리즘입니다. 길이 조정 없이도 두 시계열의 유사도를 계산할 수 있습니다.4. **패딩(Padding)**: 짧은 시계열에 0이나 특정 ..

용인비상주사무실로 시작하는 스마트한 비즈니스 전략 현대 비즈니스 환경에서 사무공간의 선택은 사업 성패를 좌우하는 중요한 결정입니다. 특히 창업 초기 단계에서는 효율적인 비용 관리가 필수적인데, 이때 용인비상주사무실이 최적의 솔루션이 될 수 있습니다. 강남대학교 인접 지역에 위치한 이 프리미엄 비즈니스 공간은 경전철 에버라인 강남대역에서 도보로 단 3분 거리에 자리하고 있어 수도권 어디서든 접근성이 뛰어납니다.용인비상주사무실의 가장 큰 매력은 바로 세금 혜택에 있습니다. 비과밀억제권역으로 지정된 용인시는 서울과 같은 과밀지역에 비해 취득세와 재산세 감면 혜택이 상당히 큽니다. 또한 중소기업 지원금과 창업 보조금 신청 자격을 얻을 수 있어, 초기 사업비를 크게 절감할 수 있는 기회를 제공합니다. 이러한 ..

아래 포스팅에서는 첨부된 선거결과 엑셀파일에 기록된 선거구별 투표자료를 체계적으로 재구조화하는 방법에 대해 자세히 설명합니다. 이 파일은 다소 복잡한 구조를 가지고 있는데, - **B열의 “결과보기”** 셀을 기준으로 각 선거구 데이터 블록이 시작되고, - “결과보기” 바로 다음 행에 해당 선거구명이 기록되며, - 각 블록의 **7번째 아랫줄부터** 선거 관련 데이터(투표수치)가 나타납니다. 또한, 데이터 중 **“합계”, “거소·선상투표”, “관외사전투표”, “국외부재자투표”** 항목은 그대로 복사해야 하며, 그 아래에 있는 각 읍면동별 소계와 관내사전투표 수치는 별도로 재정리해야 하는 상황입니다. 아래에서 Python과 Pandas를 활용한 예제 코드와 함께 단계별 접근 방법을 소개합니다.#..

다음은 특정 셀의 위치를 미리 모르는 상태에서, 엑셀 데이터의 B열 전체에서 "결과보기"라는 단어가 포함된 셀의 **행 인덱스**를 찾는 방법에 대해 자세하고 체계적으로 설명하는 블로그 포스팅 형식의 예시입니다.엑셀이나 CSV 파일을 다루다 보면, 데이터 전체를 대상으로 특정 키워드(예를 들어 "결과보기")가 포함된 셀의 위치(행 인덱스)를 찾고자 할 때가 있습니다. 이 작업은 데이터의 크기가 커질 경우에도 매우 유용하며, pandas의 **Boolean Masking** 기능을 활용하면 쉽게 해결할 수 있습니다.문제 설명- 목표: 엑셀 파일(또는 DataFrame)에서 B열(두 번째 열)에 "결과보기"라는 단어가 포함된 셀의 행 번호(인덱스)를 모두 찾는다.- 상황: 특정 셀의 위치를 미리 모르..

따스한 햇살이 느껴지던 지난주와 달리, 이번 주 초반에는 갑작스러운 한파가 전국을 덮치고 있습니다. 기상청이 발표한 예보에 따르면 전국 대부분 지역의 체감온도가 영하권으로 떨어지는 강력한 꽃샘추위가 발생하고 있어 주의가 필요합니다.예년보다 현저히 낮은's 기온오늘 아침 최저기온은 영하 5도에서 영상 2도 사이로 측정되었으며, 낮 최고기온도 5~10도에 머무를 전망입니다. 이는 평년 대비 3~5도 가량 낮은 수치로, 특히 경기 동부지역과 강원 내륙 및 산간지대, 그리고 전북 동부에서는 영하 5도 수준까지 온도계가 내려갈 것으로 예상됩니다.더불어 강한 북서풍이 불어 체감온도는 실제 기온보다 훨씬 낮게 느껴질 수 있습니다. 일부 지역에서는 체감온도가 영하 10도까지 하락해 마치 한겨울로 되돌아간 듯한 냉기를 ..

지난 3월 6일, 경기도 포천에서 진행된 군사 훈련 중 예상치 못한 심각한 안전사고가 발생했습니다. 한미 양국 군대가 함께하는 통합화력 훈련 과정에서 공군 전투기에서 발사된 무기가 훈련장 바깥 민간 거주지역에 떨어져 다수의 인명 피해와 재산 손실을 초래했습니다. 이번 포천 항공무기 사고는 군사 활동과 민간인 안전 확보 사이의 균형에 대한 중요한 질문을 제기합니다.포천 항공무기 사고는 승진과학화훈련장 인근에서 실시된 한미 연합·합동 통합화력 훈련 도중 발생했습니다. 구체적으로 이날 오전 10시 5분경, F-35A, F-15K, KF-16, FA-50 등 다양한 전투기가 참여한 가운데 KF-16에서 항공폭탄 8기가 의도치 않게 투하되어 훈련장 외부 지역에 낙하하는 불상사가 일어났습니다.이 항공무기들은 포천시..