SQL : 데이터 중복제거 distinct
DISTINCT란 중복제거 키워드입니다. SELECT로 DB에서 컬럼을 조회할 때, 중복되는 값을 제거하고 조회할 때 사용합니다. 즉, DISTINCT 키워드를 붙인 필드(컬럼)는 중복 값을 합쳐 한 번만 출력합니다. -- 테이블에서 필드에 대해 중복제외하여 출력 SELECT DISTINCT 필드 FROM 테이블. use yh_db; SELECT * FROM yh_db.books; insert into books (title, author_fname, auther_lname, released_year, stock_quantity, pages) values ('10% Hppir', 'Dan', 'Harris', 2014, 29, 256), ('fake_book', 'Freida', 'Harris', 200..
SQL : MySQL에서 날짜 데이터를 저장하는 데이터타입/ DATE,TIME,DATETIME,TIMESTAMP
-- 시간을 처리하는 방법 -- date, time, datetime -- date YYYY-MM-DD -- time HH:MM:SS -- datetime YYYY-MM-DD HH:MM:SS insert into people2 (name, birthdate, birthtime, birthdt) values ('Padma', '1988-11-11', '10:07:35', '1988-11-11 10:07:35'), ('Larry', '1994-04-22' , '04:10:42', '1994-04-22 04:10:42'); select * from people2; -- 현재 시간과 관련된 함수 3개, curdate(), curtime(), now() select now(); insert into people2..
SQL : Group by / Order by
-- 각 작가별로, 자신이 쓴 책의 최소 년도는? -- 작가의 성과 이름, 그리고 최소년도가 나오도록 가져오세요. -- 각 작가별로, 자신이 쓴 책의 페이지가 가장 많은 책의 페이지 수를 -- 작가의 성과 이름, 그리고 최대 페이지 수로 나오도록 가져오세요. select author_fname, author_lname, min(released_year) from books group by author_fname, author_lname; select author_fname, author_lname, max(pages) from books group by author_fname, author_lname; -- 이 테이블의 페이지수 총 합은? select sum(pages) from books; -- 각 작..
SQL : 내림차순(desc),오름차순(아무것도 안쓰거나, asc)
-- 내림차순 정렬은 desc 이고, -- 오름차순 정렬은 디폴트이므로, 아무것도 안쓰거나, asc라고 써주면 된다. 책제목 내림차순으로 가져오라 (desc) select * from books order by title desc; 책제목 오름차순으로 가져오라 (아무것도 안쓰거나, asc) select released_year, title from books order by released_year desc; -- full name을 내림차순으로 정렬하고, 책 페이지가 많은것부터 가져오세요. select *, concat(author_fname, ' ', author_lname) as full_name from books order by 8 desc, 7 desc;
SQL 진행중 select distinct / 데이터정렬 order by
use yh_db; SELECT * FROM yh_db.books; insert into books (title, author_fname, auther_lname, released_year, stock_quantity, pages) values ('10% Hppir', 'Dan', 'Harris', 2014, 29, 256), ('fake_book', 'Freida', 'Harris', 2001, 287, 428), ('Lincoln In The Baardo', 'George', 'Saunders', 2017, 111, 388); select * from books; -- distinct 판다스의 유니크와 비슷함 -- author_lname의 이름을 중복없이 가져오세요. select distinct au..
SQL : MySQL Workbench를 이용해서 테이블 생성하기
use yh_db; SELECT * FROM yh_db.books; insert into books (title, author_fname, auther_lname, released_year, stock_quantity, pages) values ('10% Hppir', 'Dan', 'Harris', 2014, 29, 256), ('fake_book', 'Freida', 'Harris', 2001, 287, 428), ('Lincoln In The Baardo', 'George', 'Saunders', 2017, 111, 388); select * from books; -- distinct 판다스의 유니크와 비슷함 -- author_lname의 이름을 중복없이 가져오세요. select distinct au..
Machine Learning : 문자열 데이터를 숫자로 바꿔주는 CountVectorizer와 analyzer파라미터
문자열 데이터를 숫자로 바꿔주는 CountVectorizer와 analyzer파라미터 analyzer 파라미터는 학습단위를 결정하는 파라미터입니다. word, char 2가지 옵션 정도를 고려해볼 수 있습니다. analyzer = 'word'라고 설정시, 학습의 단위를 단어로 설정합니다. (ex - home, go, my ...) analyzer = 'char'라고 설정시, 학습의 단위를 글자로 설정합니다.(ex - a, b, c, d ...) 나이브 베이즈를 이용한 스팸 분류 PROBLEM STATEMENT 5,574개의 이메일 메시지가 있으며, 스팸인지 아닌지의 정보를 가지고 있다. 컬럼 : text, spam spam 컬럼의 값이 1이면 스팸이고, 0이면 스팸이 아닙니다. 스팸인지 아닌지 분류하는 ..
Pandas : 대중교통 / 범죄현황 / seaborn / pairplot
subwayfee.csv 파일을 통한 지하철 유무임별 이용현황 데이터 분석 자료출처 : t-money.co.kr 에서 자료를 제공함. df = pd.read_csv('data/subwayfee.csv', encoding='cp949') df.head(3) df['역ID'].nunique() df['지하철역'].nunique() df['호선명'].nunique() df['호선명'].unique() #####out array(['1호선', '2호선', '3호선', '4호선', '경부선', '경인선', '경원선', '안산선', '과천선', '분당선', '일산선', '중앙선', '장항선', '경의선', '경춘선', '수인선', '경강선', '5호선', '6호선', '7호선', '8호선', '9호선', '공항철도..