파이썬에서 데이터 분석과 처리를 단순화하는 데 사용되는 인기 있는 오픈소스 라이브러리인 Pandas에 대해 알아보겠습니다. 이 글에서는 Pandas 라이브러리의 기초적인 기능과 사용법을 예시코드를 포함하여 자세히 살펴봅니다.

1. Pandas 소개
Pandas는 파이썬을 사용한 데이터 분석의 핵심 라이브러리입니다. NumPy를 기반으로 만들어졌으며, 데이터 분석 및 조작을 위한 다양한 기능을 제공합니다. Pandas의 주요 장점은 다음과 같습니다.
- 간편한 데이터 구조: Series와 DataFrame 등의 고유한 자료 구조를 제공하여 데이터를 쉽게 다룰 수 있습니다.
- 빠른 데이터 처리: 내부적으로 최적화된 알고리즘을 사용해 대용량 데이터를 빠르게 처리할 수 있습니다.
- 다양한 데이터 소스 지원: CSV, 엑셀, SQL, HTML 등 다양한 형식의 파일을 불러올 수 있습니다.
- 간편한 데이터 조작 기능: 데이터 선택, 인덱싱, 정렬, 결합, 그룹화 등의 작업을 쉽게 수행할 수 있습니다.
- 통합 시각화 기능: 데이터 분석 결과를 직관적으로 이해할 수 있는 그래프를 그릴 수 있습니다.
2. Pandas 설치하기
Pandas를 사용하기 위해서는 먼저 라이브러리를 설치해야 합니다. pip 명령어를 사용하여 쉽게 설치할 수 있습니다.
pip install pandas
설치가 완료되면, 아래와 같이 Pandas를 불러와서 사용할 수 있습니다.
import pandas as pd
3. 데이터 구조
Pandas는 두 가지 주요 데이터 구조를 제공합니다: Series와 DataFrame입니다.
3.1 Series
Series는 일차원 배열과 유사한 구조로, 동일한 데이터 타입의 값을 저장할 수 있습니다. Series 객체는 인덱스와 값의 쌍으로 구성됩니다.
import pandas as pd
s = pd.Series([1, 2, 3, 4, 5])
print(s)
출력 결과:
0 1
1 2
2 3
3 4
4 5
dtype: int64
3.2 DataFrame
DataFrame은 행과 열로 구성된 2차원 테이블 형태의 데이터 구조입니다. 각 열은 서로 다른 데이터 타입을 가질 수 있습니다. DataFrame은 데이터 분석에서 가장 많이 사용되는 데이터 구조입니다.
import pandas as pd
data = {'Name': ['John', 'Alice', 'Bob'],
'Age': [28, 24, 22],
'City': ['New York', 'San Francisco', 'Los Angeles']}
df = pd.DataFrame(data)
print(df)
출력 결과:
Name Age City
0 John 28 New York
1 Alice 24 San Francisco
2 Bob 22 Los Angeles
4. 데이터 불러오기 및 저장하기
Pandas는 다양한 파일 형식을 지원하여 데이터를 쉽게 불러오고 저장할 수 있습니다. 자주 사용되는 형식은 CSV, 엑셀, SQL, HTML 등입니다.
# CSV 파일 불러오기
df_csv = pd.read_csv("example.csv")
# 엑셀 파일 불러오기
df_excel = pd.read_excel("example.xlsx")
# CSV 파일 저장하기
df.to_csv("output.csv", index=False)
# 엑셀 파일 저장하기
df.to_excel("output.xlsx", index=False)
5. 데이터 조작하기
Pandas는 데이터를 선택, 인덱싱, 정렬, 결합, 그룹화 등 다양한 방법으로 조작할 수 있는 기능을 제공합니다.
5.1 선택 및 인덱싱
Pandas에서는 데이터를 열(column) 또는 행(row) 기준으로 선택할 수 있습니다.
# 열 선택하기
name = df['Name']
age = df.Age
# 행 선택하기
row_0 = df.loc[0] # 인덱스 기준
row_1 = df.iloc[1] # 위치 기준
5.2 데이터 정렬
데이터를 특정 열(column) 또는 행(row) 기준으로 정렬할 수 있습니다.
# 오름차순 정렬
df_sorted_by_age = df.sort_values(by='Age')
# 내림차순 정렬
df_sorted_by_age_desc = df.sort_values(by='Age', ascending=False)
5.3 데이터 결합
Pandas에서는 merge, concat, join 등의 함수를 사용하여 데이터를 결합할 수 있습니다.
# merge 함수를 사용한 데이터 결합
merged_df = pd.merge(df1, df2, on='Key')
# concat 함수를 사용한 데이터 결합
concatenated_df = pd.concat([df1, df2], axis=0, ignore_index=True)
# join 함수를 사용한 데이터 결합
joined_df = df1.join(df2)
5.4 데이터 그룹화
groupby 함수를 사용하여 데이터를 특정 열(column) 기준으로 그룹화할 수 있습니다.
grouped_df = df.groupby('City')
# 그룹별 평균 연령 구하기
mean_age_by_city = grouped_df['Age'].mean()
5.5 결측치 처리
Pandas에서는 결측치를 처리하기 위한 다양한 방법을 제공합니다.
# 결측치 확인하기
missing_values = df.isnull()
# 결측치를 0으로 채우기
filled_df = df.fillna(0)
# 결측치가 있는 행 삭제하기
dropped_df = df.dropna()
6. 시각화
Pandas는 Matplotlib를 기반으로 하는 시각화 기능을 제공합니다.
import matplotlib.pyplot as plt
# 선 그래프 그리기
df.plot(x='Name', y='Age', kind='line')
plt.show()
# 막대 그래프 그리기
df.plot(x='Name', y='Age', kind='bar')
plt.show()
# 히스토그램 그리기
df['Age'].plot(kind='hist', bins=5)
plt.show()
Pandas는 파이썬을 활용한 데이터 분석에서 가장 인기 있는 라이브러리 중 하나로, 다양한 기능을 제공하며 사용하기 쉽습니다. 오늘 포스팅으로 판다스에 대한 기초적인 감각을 익힐 수 있을 겁니다.
'프로그래밍 > 파이썬' 카테고리의 다른 글
Python 내장 함수를 활용한 데이터 분석 기초 (0) | 2023.04.25 |
---|---|
파이썬 데이터 처리 마스터하기:결측값 탐색 및 처리 방법 (0) | 2023.04.21 |
변수 및 데이터 유형 이해 (0) | 2023.04.02 |
파이썬 기초 문법 정리 및 예시코드 (0) | 2023.03.24 |
초보자를 위한 예시코드가 포함된 Pandas관련 실수 모음 17선 (0) | 2023.01.27 |
최근댓글