티스토리 뷰
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 문서와 다양한 자료를 참고하시기 바랍니다.
'Python > Python Library' 카테고리의 다른 글
[Robot Framework] 테스트 케이스 작성 방법 (5) | 2024.09.30 |
---|---|
[Python Robot Framework] 파이썬 로봇 프레임워크 소개 (3) | 2024.09.30 |
NumPy 라이브러리 소개 및 예제 (2) | 2024.09.26 |
AWS Lambda를 Visual Studio Code에서 사용하기: Python 코드 실행, 디버깅 및 배포하기 (0) | 2024.08.21 |
Prettier - Code Formatter 단축키로 바로 적용하는 법 (0) | 2024.08.20 |
- Total
- Today
- Yesterday
- chat gpt 모델 별 가격
- Numpy
- chat gpt 가격 예상
- 인공지능 로또 예측
- 로또 1164회 당첨
- chat gpt api 비용 계산
- chat gpt 4o 예산
- 장고 orm sql문 비교
- chat gpt 한국어 가격
- Django
- 텍스트 전처리
- 로또 ai
- 클래스형 뷰
- TorchVision
- 1164회 로또
- GitHub
- chat gpt 모델 api 가격 예측
- 케라스
- 오블완
- Python
- 티스토리챌린지
- chat gpt 모델별 예산
- 토치비전
- 텍스트 마이닝
- postgre
- python import
- 1165회 로또
- python 문자열 슬라이싱
- f-string
- github action
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |