[13주차] Python Data Analysis Project 1

minLuna·2023년 5월 27일
0

엘리스 AI트랙 7기

목록 보기
60/62

본 자료는 심민경 코치님의 자료를 사용하여 정리하였습니다.

Pandas

Pandas란?

  • 데이터 처리와 분석에 사용되는 파이썬 라이브러리
  • Series(1차원)와 DataFrame(2차원)이라는 데이터 형식을 제공
  • 데이터를 다룰 수 있는 ㅐㄴ장함수를 제공

Pandas : 데이터 입력 / 불러오기

판다스 라이브러리 호출

import pandas as pd

데이터 객체 데이터 프레임으로 변환

변수 = pd.DataFrame({'열1':list1, ...})

CSV 파일 불러오기

변수 = pd.read_csv(파일경로)

Pandas : Series

  • 인덱스와 값으로 구성된 1차원 배열
  • 인덱스로 값에 접근 가능
  • 딕셔너리를 활용하면, 인덱스를 문자로 활용 가능하다.

Pandas : DataFrame

  • 행 인덱스와 열 이름으로 구성된 2차원 배열
  • .iloc으로 숫자를 이용해 값에 접근 가능
  • 컬럼이름으로 특정 컬럼 불러오기 가능
  • .append로 데이터프레임 위아래로 결합할 수 있다.
    • .concat도 가능하다.
  • .isnull()로 결측치 확인이 가능하다.
    • 결과는 데이터프레임에 True/False로 매핑된다.
  • .dropna로 결측치 제거가 가능하다.
  • .sort_values로 정렬 가능하다.
    • ascending으로 오름차순/내림차순 선택이 가능하다.
  • 조건 연산자를 사용할 수 있다.
    • df[열] = 값
    • 결과는 True/False로 나온다.
  • 다중조건 검색이 가능하다.
    • df[(df[열] == 값) & (df[열] > 값)]
  • 값 대체하기
    • df.replace({대체될 값:대체할 값, ...}, inplace = True)
  • 함수 적용하기
    • df.apply(함수)
  • 내장함수
    • 조건부로 집계하기
      df.groupby(열).sum()
      • .max(), .min(), .mean() 가능
    • 변수 별로 다른 집계하기
      df[열1, 열2].groupby(열).aggregate({열1: 'min', 열2: 'mean'})
    • 특정 그룹 정보만 선택
      df[열1, 열2].groupby(열).get_group(값)
    • 함수 적용
      df[열1, 열2].groupby(열).apply(lambda x: x.mean() - x.min())
    • 필터링하기
      df[열1, 열2].groupby(열).filter(함수)
    • pivot_table
      df.pivot_table(index = '행', column = '열', values = '요약할 컬럼')
      • aggfunc = ['min', 'mean', 'max']도 넣을 수 있다.

Numpy

Numpy

  • 숫자 배열을 효과적으로 저장하고 가공할 수 있는 라이브러리

Numpy : 배열(Array)

1차원 배열 선언하기

변수 = np.array([원소1, ...])
변수 = np.array(리스트객체)

Indexing / Slicing

변수[number]
변수[start:end]
변수[:: step_num]

데이터형 확인

변수.dtype

특정 규칙으로 채워진 배열 선언하기

  • 1차원
    변수 = np.arange(시작값, 마지막값 + 1, step)
    변수 = np.random.random(생성할 난수 갯수)
  • 2차원
    변수 = np.random.random(생성할 난수 갯수, size = (행, 열))
    변수 = np.random.randint(생성할 정수시작, 끝, size = (행, 열))

1차원 배열로 2차원 배열 만들기

변수 = np.reshape((행, 열))

배열 붙이기

  • 1차원
    변수 = np.concatenate([배열1, 배열2])
  • 2차원
    변수 = np.concatenate([배열1, 배열2], axis = 0) - 위/아래로 붙이기
    변수 = np.concatenate([배열1, 배열2], axis = 1) - 양옆으로 붙이기

배열 분리하기

변수1, 변수2 = np.split(변수, [위에 둘 행 개수], axis = 0) - 위/아래 나누기
변수1, 변수2 = np.split(변수, [왼쪽에 둘 행 개수], axis = 1) - 양옆 나누기

사칙연산

  • 1차원
    • 원소 각각 적용
    • +, -, *, / 가능
    • 변수 + 숫자
  • 2차원
    • 원소 각각 적용
    • +, -, *, / 가능
    • 변수 + 숫자, 변수 + 변수

집계함수

  • 1차원
    • np.sum(변수)
    • np.mean(변수)
    • np.max(변수)
    • np.min(변수)
  • 2차원
    • np.sum(변수) : 모든 원소
    • np.mean(변수)
    • np.max(변수, axis = 0) : 열기준
    • np.min(변수, axis = 1) : 행기준

조건연산자

  • 변수 < 숫자 : True/False로 매핑된다.
  • 변수1[변수1 < 숫자] : 해당되는 값만 나온다.

Matplotlib

Matplotlib이란?

  • 시각화에 필요한 다양한 그래프 형식과 디자인 기능을 제공하는 라이브러리

Matplotlib 사용하기

import matplotlib.pyplot as plt  # 라이브러리 호출
fig, ax = plt.subplot()
plt.plot(x, y, options...)  # 라인 그래프
plt.scatter(x, y, options...)  # 산점도 그래프

대표적인 plot 옵션

  • color = '색상' : 색상, 0 ~ 1사이의 숫자, RGB 값 사용가능
  • linestyle = 'solid' : solid, dashed, dashdot, dotted등 사용가능
  • label = '라벨' : 선 이름 지정
profile
열심히

0개의 댓글