Programming/Python

[Pandas] 파이썬에서 판다스(Pandas) 라이브러리 기초 사용법 정리

사족보행 개발자 2024. 10. 7. 23:33
728x90

pandas

Pandas 라이브러리

판다스(Pandas)는 파이썬에서 데이터 분석을 할 때 없어선 안 될 라이브러리 중 하나입니다. 테이블 형식의 데이터를 쉽게 다루고, 다양한 함수들을 활용하여 데이터를 가공하고 분석하는 데 매우 유용합니다. 이번 포스팅에서는 판다스를 어떻게 사용하는지, 기본적인 함수들을 중심으로 알아보겠습니다.

1. 판다스 시작하기

먼저 판다스를 사용하려면 파이썬에 설치가 필요합니다. 터미널에서 아래 명령어를 실행하여 설치할 수 있습니다.

pip install pandas

설치가 완료되면 판다스를 import 해서 사용할 수 있으며 다음과 같이 불러옵니다.

import pandas as pd

2. 데이터 읽기와 저장하기

판다스에서 가장 먼저 해야 할 일은 데이터를 불러오는 것입니다. 판다스는 다양한 데이터 형식을 지원하며, 특히 CSV 파일을 읽고 쓰는 기능이 자주 사용됩니다.

# CSV 파일 읽기
df = pd.read_csv('data.csv')

# DataFrame을 CSV 파일로 저장하기
df.to_csv('output.csv', index=False)

이 외에도 엑셀 파일(read_excel), SQL 데이터베이스(read_sql), JSON 파일(read_json) 등 다양한 형식의 데이터를 읽고 쓸 수 있습니다.

3. 데이터 확인하기

데이터를 불러온 후에는 데이터의 형태를 확인해 보는 것이 중요합니다. 판다스는 이를 위한 여러 가지 함수를 제공합니다.

# 데이터 상위 5개 행 보기
df.head()

# 데이터 정보 확인 (컬럼 이름, 데이터 타입 등)
df.info()

# 통계 요약 정보 보기
df.describe()

head() 함수는 데이터의 처음 몇 개의 행을 보여주며, 기본적으로 상위 5개의 행을 출력합니다. 예를 들어, 다음과 같은 출력이 나올 수 있습니다:

   name  age  score
0  Alice   25     85
1    Bob   30     90
2  Carol   27     88

info() 함수는 데이터의 전체적인 정보를 제공하고, describe() 함수는 숫자 데이터에 대한 기본 통계값을 요약해줍니다.

4. 데이터 선택과 필터링

판다스를 사용하여 특정 컬럼이나 행을 선택할 수 있습니다. 예를 들어, print(filtered_df)를 사용하여 필터링된 데이터를 출력하면 다음과 같이 결과를 확인할 수 있습니다:

# 특정 컬럼 선택하기
df['column_name']

# 여러 컬럼 선택하기
df[['column1', 'column2']]

# 조건에 맞는 행 필터링하기
filtered_df = df[df['age'] > 30]
print(filtered_df)

데이터 필터링은 분석 과정에서 매우 중요한 작업입니다. 예를 들어 특정 조건을 만족하는 데이터를 필터링하거나, 여러 컬럼을 한꺼번에 선택할 수 있습니다.

5. 데이터 정렬과 그룹화

판다스는 데이터를 정렬하고 그룹화하는 기능도 제공합니다.

# 데이터 정렬하기
df_sorted = df.sort_values(by='age', ascending=False)

# 데이터 그룹화 후 요약
grouped = df.groupby('category').mean()

sort_values() 함수는 특정 컬럼을 기준으로 데이터를 정렬하며, groupby() 함수는 데이터를 그룹화한 후 집계 작업을 수행할 수 있습니다.

6. 결측치 처리하기

데이터 분석을 할 때 결측치를 처리하는 것은 매우 중요합니다. 판다스는 결측치를 쉽게 처리할 수 있는 함수들을 제공합니다.

# 결측치가 있는지 확인하기
df.isnull().sum()

# 결측치를 특정 값으로 채우기
df.fillna(0, inplace=True)

# 결측치가 있는 행 삭제하기
df.dropna(inplace=True)

결측치는 데이터의 신뢰도에 큰 영향을 미치므로, 데이터 분석 전 반드시 확인하고 적절히 처리해야 한다. 예를 들어 결측치를 0으로 채우거나(df.fillna(0)), 결측치가 있는 행을 삭제한 후(df.dropna()), 데이터가 어떻게 바뀌었는지 확인하는 것이 중요합니다.
다음과 같은 코드로 결측치를 처리한 후 결과를 확인할 수 있습니다:

# 결측치 처리 후 데이터 확인
print(df)

7. 데이터 프레임 병합

여러 데이터프레임을 하나로 합치는 것도 판다스의 중요한 기능입니다.

# 두 데이터프레임 병합하기
df_merged = pd.merge(df1, df2, on='key_column')

merge() 함수는 SQL의 JOIN과 유사하게 두 데이터프레임을 특정 컬럼을 기준으로 병합할 수 있게 해준다. 예를 들어, 다음과 같이 두 데이터프레임을 병합할 수 있다:

import pandas as pd

# 예제 데이터프레임 생성
df1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value1': [1, 2, 3]})
df2 = pd.DataFrame({'key': ['A', 'B', 'D'], 'value2': [4, 5, 6]})

# 병합 수행
df_merged = pd.merge(df1, df2, on='key', how='inner')
print(df_merged)

위 코드는 두 데이터프레임을 'key' 컬럼을 기준으로 병합하며, 그 결과는 다음과 같다:

  key  value1  value2
0   A       1       4
1   B       2       5

더 복잡한 병합을 위해서는 how 매개변수를 활용하여 'left', 'right', 'outer' 등 다양한 방식으로 병합할 수 있다.

마무리

이렇게 판다스의 기본적인 사용법과 주요 함수들에 대해 알아보았습니다. 판다스를 잘 활용하면 복잡한 데이터 처리 작업도 훨씬 쉽게 해결할 수 있습니다. 앞으로 판다스를 통해 더 깊이 있는 데이터 분석을 경험해 보시길 바랍니다.

728x90