2024.11.28 TIL (판다스-데이터변형)

SMALL

[ 파이썬 라이브러리 ]

1. 판다스란?

  • 정의: 판다스는 표 형식 데이터(테이블), 시간 시계열 데이터, 그리고 다차원 데이터를 다루는 데 최적화된 파이썬 라이브러리입니다.
  • 주요 데이터 구조:
    1. Series: 1차원 데이터 (Python의 리스트나 NumPy 배열과 비슷)
    2. DataFrame: 2차원 데이터 (엑셀 스프레드시트와 비슷)

 

2. 판다스 설치 및 기본 사용

판다스 설치

pip install pandas

 

판다스 라이브러리

import pandas as pd

 

 

3. 데이터 구조

(1) Series

  • 1차원 배열 데이터로, 인덱스와 값이 함께 저장됩니다.
  • 예제:
import pandas as pd

data = [10, 20, 30, 40]
series = pd.Series(data)

print(series)
# 결과:
# 0    10
# 1    20
# 2    30
# 3    40
# dtype: int64

 

(2) DataFrame

  • 2차원 테이블 형태의 데이터로, 행(Row)과 열(Column)로 구성됩니다.
  • 예제:
data = {
    "Name": ["Alice", "Bob", "Charlie"],
    "Age": [25, 30, 35],
    "City": ["Seoul", "Busan", "Incheon"]
}

df = pd.DataFrame(data)
print(df)

# 결과:
#       Name  Age     City
# 0    Alice   25    Seoul
# 1      Bob   30    Busan
# 2  Charlie   35  Incheon

 

 

4. 주요 기능

(1) 데이터 읽기

 - CSV 파일 읽기:

df = pd.read_csv("data.csv")

 

 - 엑셀 파일 읽기:

df = pd.read_excel("data.xlsx")

 

(2) 데이터 정보 확인

# 데이터 크기 확인
print(df.shape)  # 결과: (3, 3)

# 데이터 통계 정보 확인
print(df.describe())

# 데이터 타입 확인
print(df.dtypes)

# 데이터 샘플 확인
print(df.head())  # 상위 5개 출력
print(df.tail())  # 하위 5개 출력

 

(3) 데이터 선택

# 특정 열 선택
print(df["Name"])

# 특정 행 선택
print(df.iloc[1])  # 인덱스로 선택
print(df.loc[0])   # 이름으로 선택 (기본적으로 숫자 인덱스)

# 조건에 따라 선택
print(df[df["Age"] > 25])

 

(4) 데이터 추가 및 수정

# 새 열 추가
df["Score"] = [80, 85, 90]

# 특정 값 수정
df.loc[0, "City"] = "Daegu"

print(df)

 

(5) 데이터 정렬

# 특정 열 기준으로 정렬
df = df.sort_values(by="Age", ascending=False)
print(df)

 

(6) 데이터 저장

 - CSV로 저장

df.to_csv("output.csv", index=False)

 

 

 

 

[ 오늘의 소감 ]

뭔가 sql과 엑셀의 느낌이 난다.

파이썬에서 이런 것까지 할 수 있다니 신기하다.

 

 

LIST