1. head() 메서드
[코드 & 실행 값]
import pandas as pd
# 1. 항공 지연 데이터 불러오기
delays_df = pd.read_csv('flight_delays.csv')
# 2. 최상위 5개 데이터 확인하기 (괄호 안에 숫자를 넣으면 그 숫자만큼 보여줍니다)
print(delays_df.head())
실행 결과:
(데이터가 너무 길어서 예시로 요약합니다)
FL_DATE OP_CARRIER ORIGIN DEST CRS_ARR_TIME ARR_TIME ARR_DELAY
0 2018... WN ABQ BWI 1630 1647 17.0
1 2018... WN ABQ DAL 1235 1232 -3.0
...
2. 불필요한 컬럼 삭제하기 (drop)
머신러닝에서는 '정답'을 예측하기 위해 여러 '힌트(피처)'를 사용합니다.
비행기 연착 시간(ARR_DELAY)을 예측하는 모델을 만들고 싶다면, 실제 도착 시간(ARR_TIME) 데이터는 미리 제거해야 합니다. (도착 시간을 안다는 건 이미 비행기가 도착했다는 뜻이니까 예측의 의미가 없겠죠!) 이럴 때 .drop() 메서드를 사용하여 특정 컬럼을 제거할 수 있습니다.
[코드 & 실행 값]
# 'ARR_TIME'(도착 시간) 컬럼을 제거해 보겠습니다.
# axis=1 은 '열(컬럼)'을 의미합니다. (axis=0 이면 행을 의미)
new_df = delays_df.drop('ARR_TIME', axis=1)
print(new_df.head())
실행 결과:
# 맨 오른쪽에 있던 'ARR_TIME' 컬럼이 싹 지워지고 출력됩니다.
FL_DATE OP_CARRIER ORIGIN DEST CRS_ARR_TIME ARR_DELAY
0 2018... WN ABQ BWI 1630 17.0
...
3. 원본 데이터프레임에 바로 반영하기 (inplace=True)
위의 방식처럼 삭제한 결과를 new_df라는 새로운 변수에 담아도 되지만, 아예 기존 데이터프레임(delays_df) 자체에서 지워버리고 싶을 때가 있습니다. [06:22] 이때는 inplace=True 파라미터를 추가해주면, 번거롭게 변수를 새로 만들 필요 없이 원본 데이터가 바로 수정(덮어쓰기) 됩니다.
[코드 & 실행 값]
# 원본 데이터(delays_df)에서 'ARR_TIME'을 바로 날려버리기!
delays_df.drop('ARR_TIME', axis=1, inplace=True)
# delays_df 자체에서 컬럼이 삭제된 것을 확인할 수 있습니다.
print(delays_df.head())
실행 결과: (위 결과와 동일하게 ARR_TIME이 제거된 상태로 원본이 갱신됩니다.)
4. 필요한 컬럼만 분할(추출)해서 새로운 데이터프레임 만들기 (loc)
머신러닝을 할 때 숫자 데이터(연착 시간, 거리 등)와 문자 데이터(항공사 이름, 공항 이름 등)를 따로 분리해서 작업해야 할 때가 많습니다.
이때는 지난 시간에 잠깐 언급되었던 .loc를 사용하여 원하는 컬럼들만 쏙쏙 뽑아내어 새로운 데이터프레임을 만들 수 있습니다.
[코드 & 실행 값]
# 문자열(설명적인) 데이터만 있는 컬럼들(예: 항공사, 출발지, 도착지)만 뽑아내기
# : -> "모든 행을 다 가져와라"
# ['OP_CARRIER', 'ORIGIN', 'DEST'] -> "이 이름의 열들만 가져와라"
desc_df = delays_df.loc[:, ['OP_CARRIER', 'ORIGIN', 'DEST']]
print(desc_df.head())
실행 결과:
# 딱 우리가 명시한 3개의 컬럼만 담긴 새로운 데이터프레임이 탄생했습니다!
OP_CARRIER ORIGIN DEST
0 WN ABQ BWI
1 WN ABQ DAL
2 WN ABQ DAL
3 WN ABQ DEN
4 WN ABQ DEN
💡 튜터의 마무리 핵심 요약!
- df.drop('컬럼명', axis=1): 보기 싫은 컬럼을 삭제할 때 씁니다.
- inplace=True: 삭제한 결과를 원본 데이터에 바로 덮어쓸 때 쓰는 강력한 마법입니다.
- df.loc[:, ['컬럼1', '컬럼2']]: 수많은 데이터 중 내가 딱 원하는 컬럼만 골라내어 쇼핑할 때 씁니다.
데이터프레임을 내 마음대로 자르고 붙이는 것은 데이터 분석의 기본기 중의 기본이에요! 코드를 보면서 "만약 axis=0을 쓰면 어떻게 될까?" 같은 호기심을 가지고 직접 바꿔보시면 실력이 훨씬 빨리 늘 거랍니다! 화이팅! 🚀
'두두 IT > 머신런닝(ML)' 카테고리의 다른 글
| scikit-learn으로 선형회귀(linear regression) 모델 머신러닝 트레이닝 수행 (1) | 2026.05.17 |
|---|---|
| scikit-learn으로 트레이닝 데이터와 테스트 데이터 분할 (0) | 2026.05.17 |
| 중복데이터와 결측값(missing value) 처리 (0) | 2026.05.17 |
| Pandas DataFrame으로 CSV 파일 읽고 쓰기 (0) | 2026.05.17 |
| 머신러닝 전체 프로세스 (1) | 2026.05.15 |