무향향수

데이터 조작 이해와 실무_데이터 선택 본문

kt aivle

데이터 조작 이해와 실무_데이터 선택

튼튼한장 2024. 2. 4. 16:09

목차

다차원 배열 vs Dataframe

Numpy 라이브러리

Numpy 배열

 

다차원 배열 vs Dataframe

  다차원 배열 Dataframe
활용 예시 딥러닝 Input 데이터
(3차원 이상의 배열)
통계 분석 / 머신러닝
구현 방식 Numpy 라이브러리 Pandas 라이브러

 

Numpy 라이브러리

설치 방법: conda install numpy

장점!

1. 고속 연산

파이썬 리스트에 비해 빠른 속도와 좋은 메모리 효율

선형대수 연산이 가능

쉬운 데이터 배열 처리(반복문 필요 없음)

 

2. 쉽고 빠른 배열 변환

예) 3차원에서 2차원으로 변환

 

3. 다양한 함수 제공

축(axis)에 따른 집계 연산 가능

배열의 형태 조건이 맞으면 다른 배열과 연결 가능

손쉬운 랜덤 샘플링 가능

 

Numpy 배열

Numpy가 제공하는 ndarray의 shape/ndim/size 속성을 이용하면 배열의 형태/차원/원소 개수 파악 가능

  1D array 2D array 3D array
shape (4,) (4,4) (2,4,4)
ndim 1 2 3

 

 

Pandas 라이브러리

설치 방법: conda install pandas

장점!

1. 강력한 스프레드시트 처리

쉽고 빠르게 원하는 데이터 선택 가능

2. 데이터 통계 분석

데이터들을 그룹으로 묶어 연산할 수 있다.

 

Pandas 데이터 구조

Pandas는 크게 Dataframe과 Series로 구분하여 나타낼 수 있음

DataFrame

엑셀과 같은 형태

Record(행)과 Series(열)로 구분된다.

 

Record: 행

일련의 값들을 저장하고 있다.

각 관측치가 column으로 부터 어떤 값을 가지고 있는지 알려준다.

 

Series: 열

1차원 데이터 자료형

같은 데이터 형태만 저장할 수 있다. 

데이터 프레임의 열로 구성된다.

 

Numpy 데이터 선택

N차원 배열에서 특정 면/행/열 등을 탐색하거나 조건에 맞는 데이터를 확인하고자 할 때 사용

1. Slicing

배열을 쉽게 자를 수 있음

예) arr[1, :]

 

2. Indexing

리스트와 다르게 [x,y] 표기법 가능

예) arr[1, 0]

 

3. Boolean Indexing

특정 조건에 따른 값을 배열로 추출

 예) arr[arr > 3]

 

4. Fancy Indexing

배열에 인덱싱 값을 주어 변환

예) arr[[0, 0]]

 

Pandas 데이터 선택

Dataframe에서 특정 열/행을 탐색하거나 조건에 맞는 데이터를 확인하고자 할 때 사용

 

1. Slicing

예) df[0:2]

 

2. Indexing

예) df['a']

 

3. Boolean Indexing

예) df[df['a'] > 20]

 

4. Fancy Indexing

예) df[['a', 'b']]

 

5. loc 인덱서

사용법: df.loc[행, 원하는 열의 이름]

loc는 원하는 행렬의 이름을 정확히 입력 필요

예) df.loc[0, 'a']

df.loc[0, ['a', b']]

 

6. iloc 인덱서

사용법: df.iloc[행, 열의 순서]

iloc는 원하는 열의 번호를 정확히 입력 필요

예) df.iloc[1, 0]

df.iloc[1, [0, 1]]