인공지능 모델의 성능은 알고리즘만으로 결정되지 않는다. 오히려 실제 프로젝트에서는 데이터를 얼마나 잘 정리하고 이해하느냐가 결과에 큰 영향을 미친다. 아무리 뛰어난 모델이라도 데이터에 오류가 많거나 형식이 일정하지 않다면 원하는 성능을 내기 어렵다.
이러한 이유로 AI를 공부하는 사람이라면 머신러닝보다 먼저 Pandas(판다스)를 배우는 경우가 많다. Pandas는 데이터를 읽고, 정리하고, 분석하는 과정을 훨씬 편리하게 만들어 주는 파이썬 라이브러리다.
필자도 처음에는 머신러닝 모델을 만드는 것에만 관심이 있었지만, 실제 예제를 따라 해보니 대부분의 시간은 데이터를 정리하는 데 사용된다는 사실을 알게 되었다. Pandas를 익힌 뒤에는 데이터 구조를 이해하는 속도가 훨씬 빨라졌고, 이후의 AI 학습도 한결 수월해졌다.
이번 글에서는 Pandas의 기본 개념과 AI 프로젝트에서 왜 중요한지 살펴보겠다.
Pandas는 어떤 역할을 할까?
Pandas는 표 형태의 데이터를 효율적으로 다루기 위한 라이브러리다.
엑셀에서 행과 열로 데이터를 관리하는 것처럼 Pandas도 비슷한 형태로 데이터를 다룬다. 다만 단순히 데이터를 보여주는 데 그치지 않고, 검색·정렬·필터링·통계 계산까지 코드로 자동화할 수 있다는 점이 큰 장점이다.
대표적으로 다음과 같은 작업에 활용된다.
- CSV 파일 읽기
- 엑셀 데이터 분석
- 데이터 정렬
- 조건 검색
- 결측치 처리
- 통계 분석
- 데이터 병합
AI 프로젝트에서는 이러한 작업이 모델 학습 이전에 거의 항상 수행된다.
DataFrame이 핵심이다
Pandas에서 가장 많이 사용하는 자료구조는 DataFrame이다.
DataFrame은 엑셀 표와 비슷한 형태를 가지며, 각 열(Column)은 서로 다른 의미의 데이터를 저장한다.
예를 들어 학생 정보를 저장한다고 가정해 보자.
import pandas as pd data = { "이름": ["민수", "지은", "서준"], "나이": [21, 23, 22], "점수": [88, 95, 91] } df = pd.DataFrame(data) print(df)
출력 결과는 다음과 같은 형태가 된다.
| 이름 | 나이 | 점수 |
|---|---|---|
| 민수 | 21 | 88 |
| 지은 | 23 | 95 |
| 서준 | 22 | 91 |
이처럼 데이터를 표 형태로 다루면 원하는 정보를 쉽게 찾고 수정할 수 있다.
CSV 파일을 쉽게 읽을 수 있다
AI 프로젝트에서는 CSV 파일을 자주 사용한다.
CSV는 데이터를 쉼표(,)로 구분한 파일 형식으로, 다양한 프로그램에서 활용된다.
Pandas에서는 한 줄의 코드로 CSV 파일을 읽을 수 있다.
import pandas as pd df = pd.read_csv("student.csv")
데이터가 제대로 읽혔는지 확인하려면 다음과 같은 함수를 자주 사용한다.
df.head()
head()는 데이터의 앞부분을 보여준다.
반대로 마지막 데이터를 확인하고 싶다면 다음과 같이 사용할 수 있다.
df.tail()
데이터가 제대로 저장되었는지 빠르게 확인할 때 매우 유용하다.
필요한 데이터만 선택하기
실제 데이터에는 수십 개 이상의 열이 포함되는 경우가 많다.
하지만 모든 정보를 사용할 필요는 없다.
예를 들어 점수 열만 선택하려면 다음과 같이 작성한다.
df["점수"]
조건에 맞는 데이터만 추출하는 것도 가능하다.
df[df["점수"] >= 90]
이 코드는 점수가 90점 이상인 학생만 선택한다.
이처럼 필요한 데이터만 추려내는 과정은 머신러닝 데이터 전처리에서 자주 사용된다.
결측치 처리의 중요성
현실의 데이터는 항상 완벽하지 않다.
일부 값이 비어 있거나 잘못 입력된 경우도 흔하다.
이러한 빈 데이터를 결측치(Missing Value)라고 한다.
Pandas에서는 결측치를 쉽게 확인할 수 있다.
df.isnull().sum()
또는 결측치를 제거하는 것도 가능하다.
df.dropna()
반대로 평균값이나 특정 값으로 채울 수도 있다.
df.fillna(0)
AI 모델은 결측치가 많으면 정확도가 떨어질 수 있기 때문에 이러한 전처리 과정이 매우 중요하다.
데이터의 기본 정보를 확인하기
데이터를 받았다면 가장 먼저 구조를 살펴보는 습관이 필요하다.
Pandas에서는 다음과 같은 함수가 자주 사용된다.
df.info()
이 함수는 데이터 개수와 자료형 등을 보여준다.
또한 통계 정보를 확인하려면 다음 함수를 사용할 수 있다.
df.describe()
평균, 최솟값, 최댓값, 표준편차 등 기본적인 통계 정보를 한 번에 확인할 수 있어 데이터를 이해하는 데 큰 도움이 된다.
AI 프로젝트에서 Pandas가 중요한 이유
AI 모델은 데이터를 입력받아 학습한다.
하지만 실제 데이터는 다음과 같은 문제가 자주 발생한다.
- 빈 값이 있다.
- 중복 데이터가 있다.
- 형식이 일정하지 않다.
- 문자와 숫자가 섞여 있다.
- 불필요한 열이 포함되어 있다.
이러한 문제를 해결하지 않으면 모델의 성능이 떨어질 가능성이 높다.
Pandas는 이러한 데이터를 정리하고 분석하는 과정을 효율적으로 수행할 수 있도록 도와준다.
그래서 많은 데이터 분석가와 AI 개발자는 "모델을 만들기 전에 데이터를 먼저 이해하라"는 원칙을 중요하게 생각한다.
처음 배울 때 꼭 익혀두면 좋은 기능
Pandas의 기능은 매우 다양하지만 입문 단계에서는 다음 정도만 익혀도 충분하다.
- DataFrame 생성
- CSV 읽기와 저장
- head(), tail()
- info(), describe()
- 열 선택
- 조건 검색
- 정렬
- 결측치 처리
- 중복 데이터 제거
이러한 기능만 익혀도 대부분의 기초 AI 실습을 따라갈 수 있다.
마무리
Pandas는 AI 프로젝트에서 데이터를 다루기 위한 가장 중요한 도구 가운데 하나다. 데이터를 읽고, 정리하고, 분석하는 과정은 모델을 만드는 것만큼 중요하며, 실제 현업에서도 많은 시간을 차지한다.
처음에는 함수 이름이 다소 낯설 수 있지만, 간단한 CSV 파일을 직접 불러와 데이터를 살펴보는 연습을 반복하면 자연스럽게 익숙해진다. Pandas를 잘 활용할수록 이후 머신러닝과 딥러닝 학습도 훨씬 수월해질 것이다.
다음 글에서는 **Matplotlib와 Seaborn을 활용한 데이터 시각화의 기본 개념과 활용 방법**을 알아보겠다.
FAQ
Q1. Pandas는 NumPy를 먼저 배워야 사용할 수 있나요?
반드시 그렇지는 않다. 기본적인 DataFrame 사용은 NumPy를 깊이 알지 않아도 가능하지만, 두 라이브러리는 함께 사용되는 경우가 많아 기본 개념을 익혀두면 이해에 도움이 된다.
Q2. Pandas는 엑셀을 대신할 수 있나요?
간단한 데이터 분석은 가능하다. 특히 반복 작업이나 대용량 데이터 처리에서는 엑셀보다 자동화와 재현성이 뛰어난 장점이 있다.
Q3. AI를 공부할 때 Pandas를 어느 정도까지 익혀야 하나요?
입문 단계에서는 데이터 읽기, 선택, 정렬, 필터링, 결측치 처리, 기본 통계 함수 정도를 익히면 대부분의 머신러닝 예제를 이해하고 따라가는 데 충분하다.
0 댓글