[KTAIVLE] 20230206~07기록 - PYTHON 라이브러리

최정윤·2023년 2월 6일
0

KTAIVLE

목록 보기
3/5

구글 시트 : bit.ly/3wQdZ1e

🌎 python라이브러리

1. 데이터구조

  • 분석을 위한 데이터
  • 데이터 구조: 변수(열), 분석단위(행)
    2. Numpy
  • 배열 만들고 조회하기
  • 배열 연산 및 집계
    2. Pandas
  • Series와 DataFrame
  • DataFrame 불러오기 및 조건 조회하기

1. 데이터구조

  • 범주형 (질적 데이터 / 정성적 데이터)
    • 명목형 데이터: 성별, 시도, 흡연여부
    • 순서형 데이터: 연령대, 매출등급
  • 수치형 (양적 데이터 / 정량적 데이터)
    • 이산형 데이터: 판매량, 매출액, 나이
    • 연속형 데이터: 온도

기본이 2차원

  1. 열, 정보, 변수, 요인 (독립변수)
  2. 행, 분석단위, 샘플, 관측치, 데이터 건수 (종속변수)

1차원 배열

np.array([])

2차원 배열

np.array([[],[]])

3차원 배열

np.array([[[],[]].[[],[]]])

함수와 메서드

  • 메서드: 메서드는 딱 그 자료형이여야만 사용할 수 있다. -> 리스트. sum(), array. numpy
  • 함수: 자료형 상관없이 모두에 범용적으로 사용할 수 있다. ->np.sum(리스트, array 등등)

2. Numpy

import numpy as np

↳ numpy 라이브러리 불러오기

  • axis: 배열의 각 축
  • rank: 축의 개수 (차원)
  • shape: 축의 길이

a = np.array([배열])
a.ndim -> 차원
a.shape -> 배열의 모양
a.dtype -> 데이터 형식

  • 리스트, 튜플은 직접 배열로 변환 가능하다.
  • 문자역, 딕셔너리, 집합은 다른 자료형으로 변환 후 배열로 변화 가능하다.

🎨 3차원 배열읽기

(2차원 배열의 갯수, 행의 크기, 열의 크기)

🎨 2차원 배열 조회 방법

  • arr1[행 인덱스, 열 인덱스]
  • arr1[행 인덱스][열 인엑스]
  • arr1[행 인덱스] : 특정 행 전체
  • arr1[:, 열 인덱스] : 특정 열 전체
  • arr1[[행1, 행2],[열1, 열2]] -> (행1,열1), (행2, 열2)

🎨 배열을 만드는 여러 함수들

np.reshape(배열이름, (바꿀 shape모양))

  • np.reshape(a, (6,1))
  • a.reshape(3,2) -> 3x2형태로 된 배열로 변환
  • a.reshape(3, -1) -> 3행으로 된 배열로 변환
  • a.reshape(-1, 2) -> 2열로 된 배열로 변환

np.zeros((배열범위))

0으로 채워진 배열

np.ones((배열범위))

1로 채워진 배열

np.full((배열범위), (채울내용).)

특정 값으로 채워진 배열

np.eye(숫자) -> 적은 숫자 * 숫자 범위로 배열이 만들어진다.

정방향 행렬

np.random.random((배열범위))

랜덤 값으로 채운 배열

🎨 함수와 메서드

np.mean(리스트 또는 튜플)

np array로 변환해서 평균을 구해줌

변수(데이터).mean()

np array만 사용 가능.

np.sum()

  • np.sum(a) -> 전체 합계
  • np.sum(a, axis = 0) -> 행 방향 (열 기준) 합계
  • np.sum(a, axis = 1) -> 열 방향 (행 기준) 합계

np.where(조건문, 참일 때 값, 거짓일 때 값)

np.argmax()

  • np.argmax(a) -> 전체 중에서 가장 큰 값의 인덱스
  • np.argmax(a, axis = 0) -> 열 기준 큰 값의 인덱스 (가로로 길다)
  • np.argmax(a, axis = 1) -> 행 기준 큰 값의 인덱스 (세로로 길다)

2. Pandas

🎨 데이터프레임이란?

  • 데이터 분석에서 가장 중요한 데이터 구조
  • 테이블 또는 엑셀 시트같은 형태 (2차원 구조)
  • 변수들의 집합
  • 행 : 분석 단위 (관측치, 샘플)
  • 열 : 정보 (변수)

🎨 시리즈란?

  • 하나의 정보에 대한 데이터들의 집합
  • 데이터 프레임에서 하나의 열을 떼어낸 것 (1차원 구조)

🎨 데이터 읽어오기 함수

pd.read_csv(파일경로 및 이름)

🎨 데이터프레임 정보 확인 메소드

df.head()

  • df.head() -> 상위 5개
  • df.head(3) -> 상위 3개

df.tail()

  • df.tail() -> 하위 5개
  • df.tail(3) -> 하위 3개

df.columns

  • df.columns -> 열 이름 확인
  • df.columns() -> 열 정보 확인
  • df.dtypes() -> 열 확인

df.info()

  • 인덱스, 열, 값 개수, 데이터 형식 정보

df.describe()

  • 기초 통계 정보 확인

🎨 데이터 정렬 메소드

sort_values()

  • tip.sort_values(by='total_bill', ascending=False)
  • tip.sort_values(by=['total_bill', 'tip'], ascending=[False, False])
  • ascending = True -> 오름차순 정렬
  • ascending = False -> 내림차순 정렬'

🎨 고유 값 확인 메소드

unique()

  • tip[열이름].unique() -> 열의 고유값 확인

value_counts()

  • tip[열이름].value_counts() -> 고유 값과 그 개수 확인
  • dropna = True -> NaN값 제외한다.

🎨 조건 조회 메소드

.loc[행 조건, 열 이름]

  • 행조건: 조건에 만족하는 데이터만 조회
  • 열 이름 : 생략가능, 1개 시리즈, 여려개 리스트
  • & 와 |를 사용할 때 각 조건은 소괄호로 묶어야 함.
  • isin([값1, 값2, ..., 값n]): 값1또는 값2또는 값n인 데이터만 조회
    • tip.loc[tip['day'].isin(['Sat', 'Sun'])]
  • between(값1,값2): 값1~값2까지 범위 안의 데이터만 조회
    • tip.loc[tip['size'].between(1, 3)]

🎨 집계함수

  • sum() -> 합
  • mean() -> 평균
  • max() -> 최댓값
  • min() -> 최솟값
  • count() -> 개수

groupby('a', as_index=True)['b'].집계함수

  • a별 b의 집계함수 결과
  • as_index = True 집계기준함수(a)를 인덱스로 사용
  • as_index = False 집계기준함수(a)를 인덱스가 아닌 열로 사용.
  • 집계 대상 열(b) 생략시에는 기준 열 이외의 모든 열에 대한 집계 수행
  • agg() : 열 하나에 대해 합계, 평균 등의 집계를 한번에 수행 가능하다.
    • tip.groupby('a')[['b1', 'b2']].agg(['sum', 'mean', 'max', 'min'])

groupby() -> 칼럼을 여러개 지정해준다.

agg() -> 집계 함수를 여러개 지정해준다.

profile
[공부블로그] https://jeong-yooon.tistory.com/

0개의 댓글