[Pandas] 판다스 활용하기: 하

데이터프레임(DataFrame)

  • 판다스 라이브러리에서 제공하는 자료구조 중 하나
  • 행과 열로 이루어진 2차원 데이터 구조
  • 열은 서로 다른 유형의 데이터를 담을 수 있는 시리즈(Series)로 구성되어있음
  • 각 행은 데이터프레임의 하나의 레코드를 나타내며 고유한 인덱스를 가짐
import pandas as pd
df = pd.DataFrame(data)

딕셔너리로 생성

# 딕셔너리로 생성하기
data_dict = {
    '이름': ['홍길동', '김철수', '이영희', '박지원', '장민주', '신동호', '김민지', '이하늘', '정승우', '한지혜'],
    '나이': [25, 30, 28, 22, 29, 27, 24, 26, None, 23],
    '성별': ['남', '남', '여', '남', '여', '남', '여', '여', None, '여']
}

리스트로 생성

columns = ['이름', '나이', '성별']
data_list = [['홍길동', 25, '남'],
             ['김철수', 30, '남'],
             ['이영희', 28, '여'],
             ['박지원', 22, '남'],]

df2 = pd.DataFrame(data_list, columns=columns)
df2

시리즈를 데이터프레임으로 변환1

# 예시 시리즈 생성
s = pd.Series([1, 2, 3, 4, 5], name='Value')

# 시리즈를 데이터프레임으로 변환
df = pd.DataFrame(s)

시리즈를 데이터프레임으로 변환2

  • to_frame() 함수를 이용해 변환 가능
# 예시 시리즈 데이터 생성
series1 = pd.Series([10, 20, 30, 40, 50], name='Value')

# 시리즈를 데이터프레임으로 변환
df = series1.to_frame()

시리즈를 데이터프레임으로 변환3

  • concat() 함수를 이용해 두 개의 시리즈를 합쳐 데이터프레임 생성 가능
# 예시 시리즈 데이터 생성
series1 = pd.Series([10, 20, 30, 40, 50], name='Value1')
series2 = pd.Series([100, 200, 300, 400, 500], name='Value2')

# 시리즈를 데이터프레임으로 변환하고 인덱스 초기화
df = pd.concat([series1, series2], axis=1)
  • axis=1은 데이터를 수평으로 이어붙임

데이터프레임 속성과 메소드

columns

  • 데이터프레임의 컬럼 확인
df.columns

index

  • 데이터프레임의 인덱스 확인
df.index
  • 결과 예시

    RangeIndex(start=0, stop=7, step=1)

values

  • 데이터프레임의 값 확인
df.values

dtypes

  • 데이터프레임의 타입 확인
df.dtypes
  • 데이터 앞부분 확인
  • 기본적으로 5개의 항목 반환
df.head()

tail()

  • 데이터 뒷부분 확인
  • 기본적으로 5개의 항목 반환
df.tail()

info()

  • 데이터프레임 정보 확인
df.info()

shape

  • 데이터 형태 확인
  • 데이터프레임의 행(row)과 열(column)의 개수 반환
df.shape
  • 결과 예시

    (7, 4)

len()

  • 데이터프레임 길이 확인
  • 행(row)의 수를 반환
  • 사용 예시
    • 데이터 레코드 개수 파악
      • 데이터프레임에 저장된 데이터의 레코드(행)의 개수 파악 가능
    • 반복문 설정
      • 데이터프레임을 반복문으로 처리할 때, 반복의 횟수를 설정하는데 활용
    • 데이터 탐색
      • 데이터의 양이 얼마나 되는지를 파악하여 데이터 탐색에 도움
len(df)

size

  • 데이터 크기 확인
  • 데이터프레임의 전체 요소 수를 반환
  • 요소 수에는 행과 열이 모두 포함
  • 사용 예시
    • 데이터 크기 파악
      • 데이터프레임에 저장된 전체 데이터의 개수를 파악
    • 메모리 사용량 파악
      • 데이터프레임이 메모리에서 얼마나 많은 공간을 차지하는지를 파악
    • 데이터 크기 비교
      • 두 개 이상의 데이터프레임을 비교할 때
df.size

describe()

  • 데이터프레임 통계값 확인
  • 각 열에 대한 통계 정보가 포함된 결과 반환
  • 결과에는 열의 수, 평균값, 표준편차, 최소값, 25%, 50%, 75%, 백분위수, 최대값
  • 기본적으로 수치형 열에 대한 통계만 제공
  • 사용 예시
    • 데이터 분포 파악
      • 각 열의 데이터가 어떻게 분포되어 있는지를 파악
    • 이상치 탐지
      • 특히 평균값과 백분위수를 통해 이상치 탐지 가능
    • 결측치 확인
      • count를 통해 각 열에 결측치가 있는지 확인 가능
    • 통계적 요약
      • 데이터의 대략적인 통계적 특성을 빠르게 파악 가능
    • 시각화 전처리
      • 시각화 전에 데이터의 특성을 파악하여 적절한 시각화 방법 선택 가능
df.describe()

데이터프레임의 인덱싱과 슬라이싱

Leave a comment