(왜 span이 안 먹히는걸까 🙄)
월 | 제목 | 내용 | 자료 출처 |
---|---|---|---|
1 | Kaggle 타이타닉 | DF 다루기, seaborn 패키지 사용 | 개인 블로그 |
머신러닝 야학 | 머신러닝 이론(지도, 비지도, 강화) | 생활코딩 | |
CS 부스트코스 | C 기초(포인터 등), 정렬 알고리즘(버블, 선택 등) | 네이버 부스트코스 | |
2 | CS 부스트코스 | 메모리, 자료구조(linked list, 해시 테이블 등) | 네이버 부스트코스 |
RDB 기초 | Key, Relation, ERD 개념 | 생활코딩 | |
3 | 다트 스크랩 | 다트 API 이용한 기업 공시정보 스크랩 | 다트 fss 깃허브 |
MySQL | MySQL 문법, JOIN 개념 | 생활코딩 | |
4 | RDB 모델링 | RDB 모델링 절차, ERD(ERDcloud 이용) 작성 | 파워오브데이터베이스(책) |
HTML | HTML 문법 | CODECADEMY | |
appscript | 스프레드시트 onEdit(e) 함수 작성 | 몇몇 stackoverflow 게시글 | |
5 | SQL | JOIN 이외의 SQL 문법 | CODECADEMY |
CSS | CSS 문법 | CODECADEMY | |
6 | 빅데이터 공모전 | Python 이용한 기초통계(Moving avg, Correlation 등)/데이터 가시화 | |
BigQuery | BigQuery 기초 실습(SQL 실습, python 연결, 외부 테이블 연결 등) | 구글 빅쿼리 완벽 가이드(책) |
간단한 내용은 이 곳에, 길거나 중요한 내용은 각 post에 기입합니다.
SQL
1) CREATE TABLE
INSERT INTO
ALTER TABLE
UPDATE
등 데이터 입력/수정
2) PRIMARY KEY
UNIQUE
등 column 성질
BigQuery 빅쿼리 스토리지 vs 구글클라우드 스토리지 *POST
SQL
1) 열 이름을 특정 별칭(alias)으로 변경하여 출력하기 *POST
2) 출력하는 열 내에서 중복값 제거하기
SELECT DISTINCT Col1
SQL
1) LIKE
, %
이용해 유사한 모양 데이터 쿼리하기
WHERE col1 LIKE '%text%'
2) CASE
, AS
사용해 column명 및 데이터 변경하여 출력하기
'col1'이 'condition'으로, 데이터가 조건에 따라 'positive'로 바뀌어 출력된다.
SELECT CASE WHEN col1 > 0 THEN 'positive' END AS 'condition'
SQL 집계 aggregation( SUM
, COUNT
등 )와 집계 조건문 HAVING
*POST
SQL 쿼리의 올바른 순서 JOIN
*POST
BigQuery
_TABLE_SUFFIX
이용해 여러 테이블로부터 동시에 쿼리하기
tablename_1, tablename_2...등 끝의 접미사(suffix)를 바꾸어 테이블을 저장하는 경우, 와일드 카드 테이블(*
)과 _TABLE_SUFFIX
절을 이용해 여러 테이블을 동시에 쿼리할 수 있다.
FROM tablename_*
WHERE _TABLE_SUFFIX BETWEEN '1' AND '10' --접미사를 이용해 특정 테이블만 쿼리할 수 있음
SQL LEFT JOIN
, CROSS JOIN
(어느 경우에 사용하는지 찾아볼 것)
SQL (Codecademy 완강!)
1) UNION
으로 테이블 누적하기
SELECT * FROM table1
UNION
SELECT * FROM table2 --column 개수와 각 column의 data type은 동일해야 한다.
2) WITH
이용해 서브쿼리 만들기
이전 단계의 쿼리를 WITH
로 미리 만들면 그 테이블로부터 다시 쿼리 할 수 있다. 마치 JOIN
으로 가상의 테이블을 만들어 쿼리하는 것과 유사하다.
WITH subquery_name
AS (
SELECT ...
)
SELECT *
FROM subquery_name
JOIN ... --서브쿼리로 만든 테이블은 일반 테이블처럼 사용할 수 있다.
CSS
1) border
콘텐츠 박스 경계의 스타일(점선 등), 색, 두께를 조절한다.
2) border-radius
박스 경계의 곡률을 조절한다. 50%로 두면 박스 폭의 절반의 반경을 가진다는 뜻이므로 완벽한 원이 된다. (그렇다고 width: 100px;
인 상황에서 border-radius
를 50px 혹은 100px, 200px...로 둔다 하더라도 상하단은 여전히 직선이라서 원이 되지는 않는다. % 속성을 주어야 상하단까지 모두 원으로 변한다.)
CSS
1) padding
박스 내에서 상하좌우 간격을 조절한다. *POST
2) margin
박스 외부의 상하좌우 간격을 조절한다. 만약 10px로 설정한다면 다른 html 요소는 이 박스 경계로부터 10px 이내로 침범할 수 없다.
BigQuery Database vs. Data Warehouse *POST
CSS
1) margin: 0 auto;
는 박스 외부의 좌우 간격을 정중앙에 오게 만들어준다. 다만 이 옵션을 사용하려면 박스 자체의 width
가 고정된 값으로 설정되어있어야 한다. 만약 width
가 고정되어있지 않으면 창 크기에 따라 폭이 변하는데 이에 맞추어 좌우 간격을 조절할 수 없기 때문이다.
프로젝트 df.pivot_table
이용해 데이터를 원하는 형태로 가공하였다.
프로젝트 colab에서 seaborn, matplotlib 폰트 남겨두기 *POST
프로젝트 각 열의 합으로 나누어 normalization df 만들기 df_density = df / df.sum(axis = 0)
프로젝트 df.corrwith
로 특정 column과 나머지 열 간의 correlation 구하기. (전체 columns 간의 correlation matrix를 그리는 df.corr()
과는 다르다!
프로젝트 df.pivot_table
에서 NaN이 발생했을 때 해결 방법 *POST
엑셀 vba range
대신 array
로 값 빠르게 복사하기 *POST(예정)
프로젝트 column
별로 나온 correlation value를 비교하기 위해서 pd.sort_values().plt(y='column', kind='barh')
로 큰 값부터 작은 값까지 순서대로 horizontal bar chart 그리기
프로젝트 auto-correlated time series(예: 기온 등) 두 개를 가지고 무작정 regression을 하면 안 된다. 애초에 regression은 각 data point가 독립적일 때 유효하기 때문. '아... 이렇게 regression해도 되나?'라는 의심이 들 때에는 residual plot
을 그려보면 좋다. y
를 종속변수, y_hat
을 예측한 종속변수라고 할 때 y_hat
과 residual
을 scatter plot 하면 된다. 잔차가 normal distribute가 아니라면 linear regression을 수행하기 적합하지 않음을 암시한다.
프로젝트
1) seasonal trend 제거하는 방법 1. dX/dt (미분) 2. 매월 평균 값 구하여 실제 값에서 빼기 3. ARMIMA
2) rolling
으로 DF 안의 각 column별로 moving-average 구하기
rolling_df = df.rolling(window = windowsize).mean().dropna()
3) correlation matrix에서 가장 큰/작은 값 순서대로 출력하기 *POST