티스토리 뷰

728x90
반응형

 

https://pandas.pydata.org/

 

pandas - Python Data Analysis Library

pandas pandas is a fast, powerful, flexible and easy to use open source data analysis and manipulation tool, built on top of the Python programming language. Install pandas now!

pandas.pydata.org

 

 

Pandas는 파이썬에서 데이터 분석과 조작을 위한 강력한 라이브러리로, 주로 표 형태의 데이터를 다루는 데 최적화되어 있습니다. 데이터 프레임(DataFrame)과 시리즈(Series)라는 두 가지 주요 데이터 구조를 통해 데이터를 쉽게 처리하고 분석할 수 있습니다. 이 글에서는 Pandas의 주요 기능과 자주 사용하는 함수들에 대해 설명하고, 실제 예제와 결과를 함께 보여드리겠습니다.

Pandas 설치하기

Pandas는 pip를 통해 쉽게 설치할 수 있습니다. 터미널 또는 명령 프롬프트에서 다음 명령어를 입력하세요.

bash

pip install pandas

Pandas의 주요 데이터 구조

1. Series

Series는 일차원 배열로, 인덱스와 값을 쌍으로 갖습니다. 간단한 데이터를 저장하고 조작할 때 유용합니다.

python

import pandas as pd

# Series 생성
data = pd.Series([10, 20, 30, 40])
print("Series:\n", data)

2. DataFrame

DataFrame은 2차원 배열로, 행과 열을 가집니다. 엑셀 스프레드시트처럼 데이터를 저장하고 조작할 수 있습니다.

python

# DataFrame 생성
data = {
    '이름': ['Alice', 'Bob', 'Charlie'],
    '나이': [25, 30, 35],
    '도시': ['서울', '부산', '대구']
}
df = pd.DataFrame(data)
print("DataFrame:\n", df)

자주 사용하는 Pandas 함수

1. 데이터 읽기 및 쓰기

Pandas는 다양한 형식의 데이터를 읽고 쓸 수 있는 함수들을 제공합니다.

  • pd.read_csv(): CSV 파일을 읽어 DataFrame으로 변환합니다.
  • df.to_csv(): DataFrame을 CSV 파일로 저장합니다.

python

# CSV 파일 읽기 (예: 'data.csv'라는 파일이 있다고 가정)
df = pd.read_csv('data.csv')
print("CSV 파일에서 읽은 DataFrame:\n", df)

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

2. 데이터 탐색

  • df.head(n): DataFrame의 상위 n개의 행을 반환합니다.
  • df.tail(n): DataFrame의 하위 n개의 행을 반환합니다.
  • df.info(): DataFrame의 요약 정보를 출력합니다.
  • df.describe(): 수치형 데이터의 통계 정보를 제공합니다.

python

print("상위 2개 행:\n", df.head(2))
print("하위 2개 행:\n", df.tail(2))
print("DataFrame 정보:\n")
df.info()
print("통계 정보:\n", df.describe())

3. 데이터 선택 및 필터링

  • df['열이름']: 특정 열을 선택합니다.
  • df.loc[]: 라벨 기반 인덱싱으로 특정 행과 열을 선택합니다.
  • df.iloc[]: 위치 기반 인덱싱으로 특정 행과 열을 선택합니다.

python

# 특정 열 선택
print("이름 열:\n", df['이름'])

# loc을 사용한 행과 열 선택
print("이름과 나이 열:\n", df.loc[:, ['이름', '나이']])

# iloc을 사용한 특정 위치의 데이터 선택
print("첫 번째 행 데이터:\n", df.iloc[0])

4. 데이터 정렬 및 그룹화

  • df.sort_values(by='열이름'): 특정 열을 기준으로 데이터프레임을 정렬합니다.
  • df.groupby('열이름'): 특정 열을 기준으로 데이터를 그룹화합니다.

python

# 나이 기준으로 정렬
sorted_df = df.sort_values(by='나이')
print("나이 기준으로 정렬된 DataFrame:\n", sorted_df)

# 도시 기준으로 그룹화하여 나이 평균 계산
grouped = df.groupby('도시')['나이'].mean()
print("도시별 평균 나이:\n", grouped)

5. 결측치 처리

결측치는 데이터 분석에서 문제를 일으킬 수 있으므로, 이를 처리하는 방법이 중요합니다.

  • df.isnull(): 결측치 여부를 확인합니다.
  • df.dropna(): 결측치가 있는 행을 삭제합니다.
  • df.fillna(value): 결측치를 지정한 값으로 대체합니다.

python

# 결측치 여부 확인
print("결측치 확인:\n", df.isnull())

# 결측치가 있는 행 삭제
cleaned_df = df.dropna()
print("결측치가 삭제된 DataFrame:\n", cleaned_df)

# 결측치를 0으로 대체
filled_df = df.fillna(0)
print("결측치가 0으로 대체된 DataFrame:\n", filled_df)

결론

Pandas는 데이터 분석을 위한 매우 유용한 도구로, 다양한 데이터 형식을 지원하고 손쉬운 데이터 조작이 가능합니다. 위에서 소개한 주요 함수들과 예제를 통해 Pandas의 기본적인 사용법을 익힐 수 있습니다. 더 깊이 있는 분석을 위해 Pandas 문서와 다양한 자료를 참고하시기 바랍니다.

728x90
반응형