주말이 지나고 새 일주일이 시작 됐습니다.
이번주도 힘내보겠습니다!!!!
이번주는 끝까지 한기영 강사님께서 맡으셨다.
다음주에 미니 프로젝트의 시작이다.... 아마도 EDA가 될듯하다.
[ 분석을 위한 데이터 구조 ]
Cross-Industry Standard Process for Data Mining
1) 비즈니스 이해: 무엇이 문제인가? (문제 정의, 정보 도출)
2) 데이터 이해
3) 데이터 준비: 모델링을 위한 데이터 구조 준비
4) 모델링: 학습, 검증
5) 평가: 문제가 해결되는가?
6) 배포
⭐ 숫자, 범주
2-1) 범주형 : 질적 데이터 (정성적 데이터)
2-2) 수치형 : 양적 데이터 (정량적 데이터)
ex. 날짜 자체는 아무데도 속하지 않는다. 떼어낸 요소를 분류 가능.
기본 2차원 : table, 2 dim array, data frame
columns: 정보, 변수
, 요인
(feature,X,input,독립변수)
rows: 분석단위
, 샘플, 관측치, 데이터 건수 (target,y,output,종속변수)
데이터 구조를 다루는 패키지 : 수치 연산에 강함
값의 집합(collection)
다른 타입의 데이터도 한꺼번에 저장 가능
요소 변경, 추가, 제거 용이
but, 계산이 느리거나 불가능 할 수 있다.
데이터 분석에서의 필요는
수학적 계산이 가능
하고대량의 데이터 처리가 가능
해야 한다.
• Axis: 배열의 각 축
• Rank: 축의 개수(차원)
• Shape: 축의 길이 : element의 개수
길이 = 개수
⭐ ex. 3차원 배열 읽기 (2,3,3)
axis = 0의 의미가 중요 : 배열이 몇 개 있는가
= 행이 몇 개 있는가 = 분석단위의 개수
3x3짜리 2차원 배열이 2개 있다는 뜻
reshape에는 원래 데이터 형태(arr.shape으로 확인)의 약수만 가능
함수: np.sum()처럼 다양한 자료구조를 넣을 수 있음
메서드: data.method 하고 . 뒤에 붙는 함수 (자료구조마다 메서드가 다름)
arr[행,열] (열은 생략 가능)
값, 단일 인덱스 arr[2,3]
값, 여러 인덱스 arr [[2,3]] (2,3번째 행 조회)
범위, 슬라이싱 arr[2:7,]
조건, boolean
np.where(조건문,참 값,거짓 값)
np.argmax(arr, axis=0) : 가장 큰 값의 인덱스 반환
[[1,2,3],
[5,6,7]] 이면
axis = 0 : 열축 따라감
즉, 3개의 인덱스가 나옴
axis = 1 : 행축 따라감
2개의 인덱스가 나옴
데이터 구조를 다루는 패키지 : 비즈니스 시각에 강함
데이터 분석에서 가장 중요한 데이터 구조
2차원 구조, 변수들의 집합
하나의 정보에 대한 데이터들의 집합
데이터 프레임에서 하나의 열을 떼어낸 것 (1차원)
데이터 조회하면서 비즈니스 가설들을 일단 주르륵 뽑아내야함
(아무말이라도 하면서....)
and 대신 &
or 대신 |
조건 여러개 묶으려면 각 조건을 ()안에
열 이름은 생략 가능
인덱스를 넣어서도 검색 가능
⭐but, 인덱스가 아닌 행번호
임
인덱스는 iloc!
[1,4]면 1~3이 아니라 1 or 4
(1,5)면 1~5까지
1.3버전 이후로 inclusive 옵션이 생김
as_index=True : 집계 기준 변수를 인덱스로 사용 (F로 하면 같이 열로 나옴)
df.groupby()['열'] : 결과 시리즈
df.groupby()[['열']] : 결과 데이터 프레임
여러 함수로 한꺼번에 집계
원하는 집계함수 이름을 리스트 형태로 지정
열 마다 집계 방법을 다르게 하고 싶다면?
'열 이름':'집계 방법' 형태의 key:value를 갖는 딕셔너리 형태로 지정