반응형

파이썬에서 데이터 분석과 처리를 단순화하는 데 사용되는 인기 있는 오픈소스 라이브러리인 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는 파이썬을 활용한 데이터 분석에서 가장 인기 있는 라이브러리 중 하나로, 다양한 기능을 제공하며 사용하기 쉽습니다. 오늘 포스팅으로 판다스에 대한 기초적인 감각을 익힐 수 있을 겁니다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기