[빅데이터분석기사] 판다스1 - 데이터프레임, 시리즈, 저장, EDA

2025. 5. 26. 12:22·Data/빅데이터분석기사
728x90
  • 작업형1에서 자주 사용하는 라이브러리: 판다스
  • 작업형2에서 자주 사용하는 라이브러리: 판다스+사이킷런
  • 작업형3에서 자주 사용하는 라이브러리: statsmodels+SciPy+넘파이

1. 시리즈(Series)와 데이터프레임(DataFrame)

판다스에서 열(컬럼)이 하나만 있을 경우 시리즈(Series)라고 하고,

이 시리즈(=열(컬럼))가 여러 개 모인 것을 데이터프레임(DataFrame)이라고 한다.

# 시리즈 만들기 (문자열)
menu = pd.Series(['비빔밥', '김치찌개', '된장찌개'])
menu
# 시리즈 만들기(정수형)
numbers = pd.Series([1,2,3,4,5])
numbers

시리즈를 만들 때는 pd.Series(['변수들',...,'변수들']) 문법을 사용한다.

# 데이터 프레임 만들기 pd.DataFrame({"컬럼명":데이터})
df = pd.DataFrame({
    "메뉴":['비빔밥', '김치찌개', '된장찌개'],
    "가격":[10000, 9000, 8000],
    "원산지":['국내산', '국내산', '국내산']
})
df

데이터프레임을 만들 때는 pd.DataFrame({"컬럼명": 데이터, "컬럼명":데이터, ..})

# 시리즈 선택 (메뉴)
df["메뉴"]

# 데이터프레임 선택 (메뉴)
df[["메뉴"]]

시리즈(컬럼)를 선택하고 싶을 땐, 데이터프레임["컬럼명"]을 지정해주면 된다.(대괄호 1번)

단, 컬럼 1개짜리 데이터프레임을 선택하고 싶을 땐, 데이터프레임[["컬럼명"]]을 지정해준다.(대괄호 2번)

# 데이터프레임 선택 (메뉴, 가격)
df[["메뉴","가격"]]

# 데이터프레임 선택 (메뉴, 가격)
cols = ["메뉴", "가격"]
df[cols]

데이터프레임 선택할 때는 대괄호 2개니까, 컬럼 2개인 데이터프레임을 선택하고 싶을 땐 데이터프레임[["컬럼1", "컬럼2"]] 사용한다.

cols라는 변수에 ["메뉴","가격"] 을 넣은 다음, 데이터프레임에 변수를 넣어서 사용할 수도 있다. (이걸 더 많이 사용)

# 데이터 프레임 type 확인
print("df          : ", type(df))
print("df['가격']   : ", type(df['가격']))
print("df[['가격']] : ", type(df[['가격']]))
df : <class 'pandas.core.frame.DataFrame'>
df['가격'] : <class 'pandas.core.series.Series'>
df[['가격']] : <class 'pandas.core.frame.DataFrame'>

2. 데이터 저장 및 불러오기

# 데이터 불러오기
df.to_csv('cafe.csv', index=False)
df = pd.read_csv('cafe.csv')
df

데이터를 csv 파일로 저장할 때는 데이터프레임.to_csv('저장할 csv이름', index=False)로 저장한다.

index를 False로 지정하지 않으면 unnamed라는 index가 csv 파일에 새로 생기게 된다.

csv파일을 불러올 때에는 pd.read_csv('csv파일명') 으로 불러온다.

3. 탐색적 데이터 분석(EDA)

# 데이터 샘플 확인: 앞에서 부터 n개 (기본 5개)
df.head(2)

# 데이터 샘플 확인: 뒤에서 부터 n개 (기본 5개)
df.tail(3)

# sample(랜덤)
df.sample(3)

# 데이터 프레임 크기 (행, 컬럼)
df.shape

# 컬럼 형태(type)
df.info()

# 상관관계
df.corr(numeric_only=True)
# 중복 값이 있는 데이터 생성
df_car = pd.DataFrame({
    "car":['Sedan','SUV','Sedan','SUV','SUV','SUV','Sedan','Sedan','Sedan','Sedan','Sedan'],
    "size":['S','M','S','S','M','M','L','S','S', 'M','S']
})
df_car.head(3)

# 항목 종류 수
df_car.nunique()

중복값이 있는 데이터프레임에 nunique()를 적용하면, car 2 size 3이 나온다. (중복되지 않는 유니크한 값의 개수를 반환)

# 항목 종류
print(df_car['car'].unique())
print(df_car['size'].unique())

# 항목별 개수
print(df_car['car'].value_counts())
print(df_car['size'].value_counts())

항목 종류를 반환하기 위해선 데이터프레임[컬럼명].unique() 사용해준다. (['Sedan', 'SUV'] ['S','M','L']이 출력된다.)

# 기초 통계 (숫자)
df.describe()

# 기초 통계 (문자)
df_car.describe(include=['object'])
728x90

'Data > 빅데이터분석기사' 카테고리의 다른 글

[빅데이터분석기사] 판다스6 - 시계열 데이터1  (0) 2025.06.11
[빅데이터분석기사] 판다스5 - 그룹핑, 병합, 피벗테이블  (1) 2025.06.10
[빅데이터분석기사] 판다스4 - 문자열, 내장함수  (1) 2025.06.10
[빅데이터분석기사] 판다스3 - 추가/변경, 정렬, 필터링, 결측치, 값 변경  (0) 2025.06.09
[빅데이터분석기사] 판다스2 - 자료형, 컬럼, 삭제, 인덱싱/슬라이싱  (0) 2025.05.28
'Data/빅데이터분석기사' 카테고리의 다른 글
  • [빅데이터분석기사] 판다스5 - 그룹핑, 병합, 피벗테이블
  • [빅데이터분석기사] 판다스4 - 문자열, 내장함수
  • [빅데이터분석기사] 판다스3 - 추가/변경, 정렬, 필터링, 결측치, 값 변경
  • [빅데이터분석기사] 판다스2 - 자료형, 컬럼, 삭제, 인덱싱/슬라이싱
DROPDEW
DROPDEW
💻 Developer | 기록하지 않으면 존재하지 않는다
  • DROPDEW
    제 2장 1막
    DROPDEW
  • 전체
    오늘
    어제
    • Dev (426) N
      • App·Android (1)
      • BE (44)
        • HTTP 웹 기본 지식 (8)
        • 스프링 입문 - 코드로 배우는 스프링 부트, 웹 .. (12)
        • 스프링부트와 JPA 활용 (11)
        • 스프링부트 시큐리티 & JWT (0)
        • PHP (6)
      • FE·Client (23)
        • HTML (1)
        • React (19)
        • Unity (1)
      • Data (24) N
        • AI (7)
        • Bigdata (6)
        • Database (1)
        • 빅데이터분석기사 (9) N
      • Infra (0)
      • Activity (2)
        • Education (0)
        • Intern (0)
        • 리모트 인턴십 6기 (2)
        • 구름톤 유니브 4기 (0)
        • SW교육기부단 15기 (0)
        • SK AI Dream Camp (0)
      • CS (8)
      • 취준 (13)
        • 자격증 (4)
        • 인적성·NCS (6)
        • 코테·필기·면접 후기 (3)
      • 코테 (270)
        • Algorithm (222)
        • SQL (35)
        • 정리 (13)
      • 인사이트 (27)
        • 회고 (0)
        • 금융경제뉴스 (7)
        • 금융용어·지식 (2)
        • 북마크 (7)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    티스토리챌린지
    정렬
    이분탐색
    그래프탐색
    시뮬레이션
    브루트포스 알고리즘
    그리디알고리즘
    자료구조
    수학
    최단경로
    구현
    오블완
    그래프이론
    누적합
    문자열
    너비우선탐색
    투포인터
    다이나믹프로그래밍
    매개변수탐색
    백준
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
DROPDEW
[빅데이터분석기사] 판다스1 - 데이터프레임, 시리즈, 저장, EDA
상단으로

티스토리툴바