본문 바로가기
Coding/TIL & 배운것들

(Python) pandas 란

by 코딩짜는 머글 2024. 9. 25.

Pandas데이터 분석과 처리에 매우 유용한 파이썬 라이브러리로, 특히 표 형태의 데이터를 다루는 데 최적화되어 있습니다. 데이터 과학, 금융, 통계 등의 분야에서 데이터를 쉽게 다루고 분석할 수 있도록 돕습니다.

Pandas의 주요 개념과 기능

1. 데이터 구조: Pandas는 데이터를 저장하고 조작하기 위해 두 가지 주요 데이터 구조를 사용합니다.
   - Series: 1차원 배열로, 엑셀의 한 열(Column)처럼 생각할 수 있습니다.

import pandas as pd
s = pd.Series([1, 3, 5, 7])
print(s)


     결과:

0 1
1 3
2 5
3 7
dtype: int64




   - DataFrame: 2차원 테이블 구조로, 엑셀의 전체 스프레드시트처럼 행(Row)과 열(Column)로 이루어져 있습니다.

data = {'이름': ['John', 'Jane', 'Tom'], '나이': [25, 30, 22]}
df = pd.DataFrame(data)
print(df)



     결과:

    이름 나이
0 John 25
1 Jane 30
2 Tom 22




2. 데이터 불러오기: Pandas는 다양한 형태의 데이터를 읽을 수 있습니다. 예를 들어 CSV, Excel, SQL 등으로 저장된 데이터를 쉽게 불러와 분석할 수 있습니다.
   - CSV 파일 불러오기:

df = pd.read_csv('data.csv') # CSV 파일을 읽어와 DataFrame으로 저장



   - Excel 파일 불러오기:

df = pd.read_excel('data.xlsx') # Excel 파일을 읽어오기




3. 데이터 처리:
   - 필터링 및 선택: 특정 열 또는 행을 선택하거나 조건에 맞는 데이터를 쉽게 필터링할 수 있습니다.

# 특정 열 선택
ages = df['나이']

# 조건에 맞는 행 필터링
young_people = df[df['나이'] < 30]



     
   - 데이터 수정 및 추가: Pandas를 사용하면 기존 데이터를 수정하거나 새로운 열을 추가할 수 있습니다.

df['성별'] = ['남', '여', '남'] # 새로운 열 추가
df['나이'] = df['나이'] + 1 # 나이를 1씩 더함




4. 데이터 분석:
   - 기본 통계: Pandas는 데이터를 분석하는 데 필요한 기본 통계 정보를 제공합니다.

df.describe() # 수치형 데이터의 통계 요약
df['나이'].mean() # 나이의 평균값 구하기



     결과:

count 3.000000
mean 25.666667
std 4.163332
min 22.000000
25% 23.500000
50% 25.000000
75% 27.500000
max 30.000000
Name: 나이, dtype: float64




   - 그룹별 분석: 데이터를 특정 기준에 따라 그룹화하여 분석할 수 있습니다.

df.groupby('성별')['나이'].mean() # 성별로 그룹화한 후 나이의 평균을 계산




5. 데이터 정리 및 변환:
   - 결측치 처리: Pandas는 결측값(NaN)을 쉽게 다룰 수 있습니다. 결측값을 제거하거나 대체할 수 있습니다.

df.dropna() # 결측값이 있는 행을 제거
df.fillna(0) # 결측값을 0으로 대체



   
   - 데이터 정렬: 데이터를 특정 열에 따라 오름차순 또는 내림차순으로 정렬할 수 있습니다.

df.sort_values(by='나이', ascending=False) # 나이 기준으로 내림차순 정렬




6. 시계열 데이터: Pandas는 날짜 및 시간 데이터를 다루는 데도 매우 강력한 기능을 제공합니다.
   - 날짜 데이터 생성 및 조작:

dates = pd.date_range('20240101', periods=6) # 2024년 1월 1일부터 6일간의 날짜 생성
df = pd.DataFrame({'날짜': dates, '수치': [1, 2, 3, 4, 5, 6]})




Pandas의 장점
- 편리한 데이터 처리: 대규모 데이터도 효율적으로 처리할 수 있으며, 데이터 전처리, 분석에 필요한 다양한 도구를 제공합니다.
- 다양한 데이터 소스 지원: CSV, Excel, SQL 등 여러 파일 포맷과 쉽게 연동됩니다.
- 강력한 기능: 데이터 분석에 필요한 필터링, 그룹화, 통계 분석 등 다양한 기능을 제공합니다.
- 시각화 라이브러리와의 연동성: `Matplotlib`, `Seaborn` 같은 시각화 라이브러리와 결합하여 데이터를 쉽게 시각화할 수 있습니다.

Pandas로 할 수 있는 일
- 데이터 분석: 데이터를 불러와 통계 분석, 그룹별 분석 등 다양한 방식으로 데이터를 분석할 수 있습니다.
- 데이터 정리: 누락된 데이터를 처리하고, 데이터 형식을 변환하거나 특정 패턴을 따라 데이터를 정리할 수 있습니다.
- 데이터 시각화: Pandas는 그래프 라이브러리와 결합해 데이터를 시각화하여 분석을 도와줍니다.

요약
Pandas는 데이터 분석에 필수적인 파이썬 라이브러리로, DataFrameSeries 같은 직관적인 데이터 구조를 제공하여 대규모 데이터 처리, 분석, 정리를 쉽게 할 수 있습니다.

'Coding > TIL & 배운것들' 카테고리의 다른 글

인공지능을 위한 파이썬 1주차 & 2주차  (2) 2024.09.30
(Python) NumPy 란  (1) 2024.09.25
python이란  (1) 2024.09.23
웹개발 gpt 4주차  (1) 2024.09.19
사전캠프3주차  (0) 2024.09.13