# 조은 강사님과 함께하는 수업💖
# 1주차 동안 진행한 3일의 수업 중 더 공부해보고싶거나 복습해보고 싶었던 내용 정리입니다.
▶Day 1
◆ 데이터 파이프 라인
- 데이터 파이프란?
- 다양한 데이터 소스에서 원시 데이터를 수집한 다음 분석을 위해 데이터 레이크 또는 데이터 웨어하우스와 같은 데이터 저장소로 이전하는 방법
- Data의 추출(extracting), 변경(transforming), 결합(combining), 검증(validating) 그리고 적재(loading)하는 과정들을 자동화 하는 것
- 데이터 파이프 특징
- 모든 종류의 스키마의 데이터를 수용해야한다.
- 여러 데이터 스트림을 한번에 처리해야 한다
- 파일의 데이터는 작은 단위로 들어와서 병렬로 처리된다.
- 데이터 파이프 라인 종류
- ETL (Extract, Transform, Load) : 데이터를 추출(E) ≫ 변환(T) ≫ 적재(L) 순으로 데이터를 처리하는 과정
- ELT (Extract, Load, Transform) : 데이터를 추출(E) ≫ 적재(L) ≫변환(T) 순으로 데이터를 처리하는 과정
- ETL과 ELT의 차이점
- ETL : 데이터 스테이징 단계가 소스와 데이터 웨어 하우스 사이에 있음
ELT : 데이터 스테이징이 필요 X / 데이터 웨어하우스를 활용하여 기본 변환을 수행 - ETL은 데이터 웨어 하우스에 로드하기 전, 중요 보안 데이터를 처리하여 개인정보 보호 규정을 준수 지원할 수 있다.
- ETL : 정교한 데이터 변환을 수행할 수 있음 / ELT보다 비용 효율적
▶Day 2
◆ enumerate()
- enumerate(iterable, start=0)
- start의 인덱스부터 인덱스와 해당하는 값을 반환
- iterable는 시퀀스, 이터레이터 또는 이터레이션을 지원하는 다른 객체
* iterator에 대한 설명 링크 : https://docs.python.org/ko/3/glossary.html#term-iterator
용어집 — Python 3.10.7 문서
같은 형의 두 인자를 수반하는 연산이 일어나는 동안, 한 형의 인스턴스를 다른 형으로 묵시적으로 변환하는 것. 예를 들어, int(3.15)는 실수를 정수 3으로 변환합니다. 하지만, 3+4.5 에서, 각 인자
docs.python.org
▶Day 3
◆ DataFrame 행과 열 가져오기
- col(열) 데이터 가져오기
- 1개 col : df[“컬럼명”]
- 2개 이상 col : df[[“컬럼명1”,“컬럼명2”,“컬럼명3”]] - row(행) 데이터 가져오기
- `loc`: 행을 기준으로 데이터프레임을 가져옴, 라벨이나 boolen array로.
- `iloc`: 행의 인덱스를 기준으로 데이터프레임을 가져옴
- 1개 행 : df.loc[인덱스이름] or df.iloc[인덱스]
- 2개 이상 행 : df.loc[[“인덱스이름1”,“인덱스이름2”,“인덱스이름3”]] or df.iloc[[인덱스번호1,인덱스번호2,인덱스번호3]] - row, col로 데이터 가져오기
- loc[행, 열]
(ex) df.loc[0,'약품명'] / df.loc[[0,1,2],["약품명","가격"]]
- iloc[행,열]
(ex) df.iloc[0,0] / df.iloc[[0,1,2],[0,1]]
- ' : ' 사용시 – df.loc[0:2,[“약품명”,“가격”]] / df.iloc[0:2,:2]
◆ Series 접근자(Accerssors)
- 사용 이유 : Python class의 method에 접근하기 위해
- 특징 : series type에만 적용 가능 / 데이터 type마다 다르게 적용 가능하게 만들어짐
- 예시 : df[“컬럼명”].str → df[“컬럼명”] series를 문자열로 다룰 수 있음
- 사용 예시
(1) df["약품명"].str.contains("vita")]
→ df[“약품명”] series 안에 vita라는 값이 있는지 bool 타입으로 true, false 반환
(2) df["약품명"].str.upper() → df[“약품명”] series 안에 소문자를 모두 대문자로 변경 - 참고 공식 문서 : https://pandas.pydata.org/docs/reference/series.html#api-series-str
◆ random_state
- random seed 값
- 사용 이유 : 수행시마다 동일한 random 값을 받아오기 위함
- 특징 : 무슨 값이던 상관은 없다
- 42를 보통 많이 사용
◆ 9/22 TIL
*사실(Fact) : 수업 중 어려웠었던 Seaborn에 대해서 같이 복습했다. Seaborn에 있는 다양한 함수들과 사용법 및 관련 개념들에 대해 학습하는 시간이었다.
*느낌(Feeling) : 이렇게 직접 공식문서, 각종 블로그 등을 참고해서 공부를 하니 더 이해를 할 수 있었다. 수업 외에 추가 공부를 해야할 필요성을 느꼈다.
*교훈(Finding) : 다른 팀 분들의 복습 내용을 보니 다들 열심히 하고, 멋있는 분들이 많다고 생각했다. 나도 많이 분발해야겠다고 다짐하게 되었다.
'2022년 > [멋쟁이 사자처럼] AI 회고' 카테고리의 다른 글
[10주차] 추가공부 (1) | 2022.11.24 |
---|---|
[9주차] 추가공부 (0) | 2022.11.17 |
[8주차] 추가공부 (0) | 2022.11.10 |
[7주차] 추가공부 (0) | 2022.11.03 |
[2주차] 추가 공부 (1) | 2022.09.29 |