넘파이
- 일반 리스트에 비해 빠르고, 메모리 효율적
- 반복문 없이 데이터 배열에 대한 처리를 지원
차원
1차원
[1,2,3,4] (4,) 로 표현 - 컬럼의 갯수
2차원
[[1,2,3,4],[1.2.3.4],[1.2.3,4]]
(3,4) : 위에서 4가 한칸 밀리고 새로운 차원인 3이 앞으로
[[[1,2,3,4],[1.2.3.4],[1.2.3,4]]
[[1,2,3,4],[1.2.3.4],[1.2.3,4]]
[[1,2,3,4],[1.2.3.4],[1.2.3,4]]
[[1,2,3,4],[1.2.3.4],[1.2.3,4]] ]
3차원
(4,3,4) 위에서 2차원에서 앞에 새로운 차원 4가 생성 나머지 밀림
reshape
- 넘파이의 배열을 바꿔줌. -1을 넣으면 나머지를 고려하여 알아서 shape 지정
flatten
- 다차원 array를 1차원 array로 변환
ones, zeros and empty
np.ones , np.zeros 말 그대로 1 , 0으로 값을 채운 넘파이 배열
np.empty 는 shape만 주어지고 비어있는 ndarray 생성(메모리 초기화가 되지않음)
identity
np.eye단위 행렬을 생성함
diag
np.diag대각선 행렬 추출
axis
모든 operation function을 실행할때 기준이되는 dimension 축
axis = 0 은 shape[0] 기준 axis =1은 shape[1]기준
concatenate
vstack
로우 단위로 붙이는 것 =np.cocatenate((a,b),axis=0)
hstack
컬럼 단위로 붙이는 것 =np.cocatenate((a,b),axis=1)
newaxis
축을 그냥 하나 늘리는 것
array operation
element-wise operation
array간 shape이 같을 때 일어나는 연산
broadcasting
스칼라 - 벡터 와 벡터 - 행렬 간의 연산도 지원
and , any
파이썬 같은 로직으로 실행
np.where
np.where(a>5) 하면 값이 5보다 큰 인덱스 값 반환
np.isnan(a) 하면 값이 nan인지 아닌지 True,Fasle 반환
np.isfinite(a) 하면 값이 무한값인지 아닌지 True,False 반환
argmin & argmax
array내 최대값 또는 최소값의 index를 반환함
axis와 같이 사용 가능
axis 0 은 컬럼기준 , axis 1은 로우 기준
argsort
작은 값 순서대로 인덱스 반환
boolean index
index가 True인 값만 추출하는 것
- 기존 배열 개수 안에서만 가능함
fancy index
numpy는 array를 index value로 사용해서 값 추출 가능
- interger를 사용해야함
- 기존 array의 배열을 넘어서 개수를 가질 수 있음
- 다만 index가 최대 개수를 넘어서면 안됨
numpy의 i/o(in,out)
'np.savetxt. np.save,np.load` 와 같은 명령어를 통해 입출력 가능
판다스
Pandas
- 구조화된 데이터의 처리를 지원하는 Python라이브러리
- paneldata→pandas
- 고성능 array계산 라이브러리인 numpy와 통합하여, 강력한 “스프레드시트”처리 기능을 제공
- 인덱싱,연산용 함수,전처리 함수 등을 제공함
- 데이터 처리 및 통계 분석을 위해 사용
Series
- DataFrame중 하나의 column에 해당하는 데이터의 모음 Object
DataFrame
- Data Table 전체를 포함하는 Object
unstack() :groupby로 묶어진 데이터를 풀어줌 ↔ stack()
swaplevel() : groupby 순서를 바꿔줌
sort_values() : 값을 기준으로 정렬
groupby - grouped
groupby에 의해 split된 상태를 추출 가능함(key,value 로 튜플형태로 확인 가능)
groupby 자체는 제네레이터로 보기 편한 상태가 아니지만 출력이나 타입을 지정해두면 확인이 가능하다
aggregation : 그룹별로 연산하여 컬럼별로 요약 출력
transformation : 그룹별로 컬럼마다 모든 값에 동일한 연산 적용하고 출력
fillter : 그룹별로 조건을 만족하는 값만 출력
pivot table
- index 축은 groupby와 동일함
- column에 추가로 labeling 값을 추가하여 value에 숫자형 값을 aggregation 하는 형태
cross tab
- 두 칼럼에 교차 빈도, 비율, 덧셈 등을 구할 때 사용
- pivot table의 특수한 형태
- user-item rating Matrix 등을 만들 떄 사용 가능함
merge
- 두개의 데이터를 하나로 합침
- pd.merge(a,b , on = ‘ ‘) 의 형식
join
- pd.merge에서 how를 통해 설정 가능
- 아무것도 없으면 inner임
- 붙일때 둘다 컬럼이 있으면 x,y를 해야할때가 있음 이럴때 right_index = True , left_index = True를 통해 순서 정렬하기
concat
- 데이터를 그냥 열기준 또는 로우 기준으로 붙이는 것
- pd.concat([a,b]) 형식으로 사용
- import os후os.path.join을 통해 사용하여 파일 이름을 리스트에 저장
- pd.concat으로 각기 다른 데이터를 붙일 수 있다.
Database connection
- import sqlite3 Data loading시 db connection 기능을 제공함
- DB에 있는 정보를 데이터프레임으로 가져와 로딩하는 방법(Pandas persistence)
'Study > AI' 카테고리의 다른 글
[Math] 경사하강법 (0) | 2023.03.12 |
---|---|
[Math] 벡터와 행렬 (0) | 2023.03.12 |
[Python] 예외 처리와 파일 및 로그 (0) | 2023.03.12 |
[Python] 객체 지향, 모듈 및 패키지 (0) | 2023.03.12 |
[Python] 파이썬의 기초문법 (0) | 2023.03.12 |