[ 팀 프로젝트 ] - 심화
01. 데이터 뜯어보기

예..? 당황했지만.. 일단 열어보자...
- TripA01.CSV

이건좀 아니지... 라는생각이들었지만.. 일단 이런 데이터가 A 32개 B 38개가 있다.
일단 오늘할거 A,B 데이터를 병합을 시켜보자
- 라이브 러리 및 환경 설정
- 데이터 처리에 필요한 도구를 불러오고, 파일이 위치한 경로와 병합할 파일을 정의한다.import osimport numpy as npimport pandas as pd
base_path = '/content/drive/MyDrive/포아송_진실에 방으로/데이터셋/'files = ['TripB_merged.csv', 'TripA_merged.csv'] - 데이터 로드 및 프레임 구조화
load_trip 함수를 통해 각 파일을 불러온다 . header=None으로 설정하여 원본의 첫 줄을 데이터로 먼저 읽은뒤 분리해서 헤더로 지정.def load_trip(file):raw = pd.read_csv(os.path.join(base_path, file), header=None, low_memory=False)
cols = raw.iloc[0, 0].split(';')df = raw.iloc[1:, 0].astype(str).str.split(';', expand=True).iloc[:, :len(cols)]df.columns = cols
( 쓰지 않는 경우 컬럼 명이 아닌 데이터 값으로 표현 됨 ) - 경험 담 짜증
핵심 함수: .iloc[], .split(), .str.split()
함수 해설:- .iloc[행, 열]: 파일 내에서 특정 위치의 데이터를 정밀하게 선택.
- .split(';'): 문자열을 세미콜론 기준으로 리스트화.
- .str.split(';', expand=True): 문자열 데이터를 분리한 뒤, 그 결과를 1차원 리스트가 아닌 '2차원 데이터프레임(표)' 구조로 확장(expand)합니다.
- .columns: 데이터프레임의 열 이름을 직접 할당하여 구조를 완성.
- 데이터 결합
데이터가 어느 파일에서 왔는지 추적하기 위한 컬럼 Trip_File 컬럼을 생성.df['Trip_File'] = raw.iloc[1:, 1].values
핵심 함수: .iloc[], .values
함수 해설:- .iloc[1:, 1]: 1번 행부터의 데이터를 가져오되, 컬럼은 2번째 열(인덱스 1)을 선택합니다.
- .values: 데이터프레임 구조를 제거하고 순수 데이터 값만 추출하여 새로운 컬럼으로 삽입
-
if 'Cabin Temperature Sensor [캜]' in df.columns:df['Cabin Temperature Sensor [캜]'] = df['Cabin Temperature Sensor [캜]'].replace(-500, np.nan)핵심 함수: .apply(), pd.to_numeric(), .replace()
함수 해설:
- .apply(): 여러 컬럼에 동일한 함수를 일괄 적용.
- pd.to_numeric(..., errors='coerce'): 데이터 타입을 숫자로 변환. coerce 옵션은 변환 실패 시 에러 대신 NaN(결측치)을 반환하여 프로그램 중단을 막는다.
- .replace(a, b): 특정 값(a)을 찾아 지정한 값(b)으로 치환하여 센서 노이즈를 효과적으로 제거.
'내일배움캠프(QA,QC_5기)' 카테고리의 다른 글
| [내일배움캠프] QA/QC_5기 ( 57일차 ) (0) | 2026.05.29 |
|---|---|
| [내일배움캠프] QA/QC_5기 ( 56일차 ) (0) | 2026.05.28 |
| [내일배움캠프] QA/QC_5기 ( 54일차 ) (0) | 2026.05.26 |
| [내일배움캠프] QA/QC_5기 ( 53일차 ) (0) | 2026.05.22 |
| [내일배움캠프] QA/QC_5기 ( 52일차 ) (0) | 2026.05.21 |