데이터 시각화 데이터의 분석 결과를 쉽게 이해하고 판단할 수 있도록 데이터를 시각적으로 표현하여 전달하기 위한 과정을 말한다. 많은 양의 데이터를 한눈에 파악할 수 있다. 누구나 데이터를 인지하고 활용할 수 있다. 숫자를 보여주면 숫자를 다루던 사람들은 알지만, 모르는 사람들은 알기 어렵다. 그러나 자유도는 높지만 진입장벽이 있다. 대표적인 시각화 라이브러리 matplotlib: 가장 기본이 되는 라이브러리. 함수들이 내부적으로는 matplotlib을 사용한다. seaborn pandas plotly : matplotlib을 사용하지 않고 자바스크립트를 사용 (웹에서 볼수 있도록 한다.) folium: 지도 시각화. matplotlib : 데이터 시각화를 위한 파이썬 패키지. 2차원 그래프를 주로 그린다..
데이터분석
정돈된 데이터 (Tidy data) 원하는 형태로 자유롭게 만드는 것. 데이터의 구조를 바꾸는 것 처음 제공되는 데이터셋 = raw data (대부분 빠져있는 값들이 많다. 필요없는 컬럼등..) : 정제하고 전처리를 해야한다. 정돈되지 않은 데이터의 가장 흔한 형태 열 이름이 변수 이름이 아니라 값인 경우 열 이름에 복수 개의 변수가 저장된 경우 : 하나의 열에 여러개를 저장하지 말것 ex. 주소와 이름을 합치지x. 한개의 단위에는 하나만 넣는다. 변수가 행과 열에 모두 저장된 경우 같은 테이블에 복수의 관측단위가 저장된 경우 단일 관측 단위가 복수 테이블에 저장된 경우 stack() : 컬럼의 이름들을 index로 만들어준다. df.stack() unstack() : stack()과 반대로 index를..
조인이란 : 두개 이상의 테이블에 있는 컬럼들을 합쳐서 가상의 테이블을 만들어 조회하는 방식. 소스테이블: main information 타겟테이블: sub information Foreign key(외래키): 한 테이블이 다른 테이블의 칼럼값을 참조하는 것. 자식테이블에서 참조하고 있는것을 부모테이블에서 마음대로 삭제 할 수없다. 참조하고 있지 않다면 삭제가능. 삭제하려면 자식테이블에서 참조되고있는 값을 먼저 삭제해야한다. 참조하는 행이나 값을 삭제할수 있다. CASCADE : 부모 테이블에서 데이터를 삭제/수정하면, 그 행을 참조하는 자식테이블의 행들도 같이 삭제/수정된다. SET NULL : 부모 테이블에서 데이터를 삭제/수정하면, 그 행을 참조하는 자식테이블의 foreign key 컬럼의 값을 N..
파이썬: concat(age,”세”) sql: concat(age(컬럼명),”세”): 컬럼 안에는 값이 여러개. 컬럼에 있는 값들을 다 집어 넣는다는 개념. 일괄적인 처리를 하는것. ex. max(age) age: 30, 25 ,59… 나이는 하나만 넣으면 어느것이 큰지 모른다. 모든 나이를 다 넣어야한다. 단일행은 각 나이를 하나씩 처리하는 것이다. select, where 절에서 사용. 다중행은 한번에 처리하는 것. 묶어서 처리(그룹함수). select, having 절에서 사용한다. (where절에서 사용할 수 없다) 여기서부터 여기까지 바꿔라: insert 이런글자를 이 글자로 바꿔라: replace select insert('123456789', 2,3,'안녕'); -- 두번째 글자부터 3글자 ..
null은 ‘=’ 으로 보기는 어렵다. age is null, is not null 이런식으로 물어봐야한다. 모르는값이기 때문에 동등비교가 불가하다. (파이썬은 = 가 가능하지만 sql은 x) 없으면 error가 아니라 빈 표가 나온다. ‘있니’라고 물어봤기 때문 -- EMP 테이블에서 직원의 이름에 '%' 가 들어가는 직원의 ID(emp_id), 직원이름(emp_name) 조회 -- 패턴문자를 조회조건에서 사용해야 하는 경우 escape 구문을 이용해 패턴문자를 검색문자로 표시하는 특수문자를 지정한다. select emp_id, emp_name from emp where emp_name like '%#%%' escape '#' escape문자는 #으로 지정된게 아니라 만약 '('를 넣고 싶다면 원하는 ..
SQL이란 데이터를 주고받기 위한 언어 sql은 대소문자 가리지 않는다. 데이터베이스: C(추가)R(조회)U(수정)D(삭제) 프로그램을 만드는 것은 데이터를 처리하는 것이다. ex. 고객데이터 (한사람의 데이터) : 이름, 아이디, 주소 등 데이터는 여러개의 속성값들로 이루어져있다. 관계형 데이터베이스: 표 형식으로 데이터를 관리하는 데이터베이스 ex. 쇼핑몰에서 데이터가 필요하다면 고객의 데이터, 주문관련된 데이터, 제조사 등이 필요하다. 프로그램의 규모가 커지면 필요한 데이터가 많아진다. 데이터 하나하나가 표가 된다. 데이터와 데이터간에 데이터가 생긴다.(relational data. 관계형데이터) 테이블형태로 관리했을때 정형data라고 한다. 비정형데이터는 사람손길이 들어가면 잘 안나온다! Enti..
정규표현식 정규표현식은 따로있고 파이썬의 함수들이 지원을 해주는것. 문자열로 만드는것이다. 패턴을 지정해줘야한다(메타문자, 리터럴) a* → 메타문자. a가 0개 이상와야한다. 문자 클래스: 예를들어 [akr] a또는 k또는 r이 와야한다. 집단이라고 생각. 얘네들 중 하나. 글자수와 관련된 메타문자 ex. A+ 앞에있는애가 몇개 와야한다. 라는걸 알려줌 • {m} : 앞의 문자(패턴)가 m개. (a{3}b) → aaa가(x) aaab(o) re모듈 정규표현식 문자열로 만들고 re모듈에 넣는다. 내장함수를 뺀 모듈들은 다 import를 하고 써야한다. 기본적으로 메모리에 등록되어있지x 검색함수 Python에서는 정규표현 처리를 하기 위해 표준 라이브러리인 re 모듈을 사용한다. 정규표현 패턴를 이용한 문..
리스트, 집합, 딕셔너리와 같은 타입이나 문자열은 for-in 구문을 통해서 반복적으로 하나씩 데이터를 꺼내서 처리할수 있다. class Person: __init__() __str__(), __repr__() #값의형태를 구현하고 싶을때 repr __add__(), __sub__()..__gt__(), __ge__() 연산자 특수메소드 재정의 #iterable __iter__() #iterator __next__() #subscriptable - indexing __getitem__() + __len__() #직접호출되는 경우는 없다. class Person: __init__() __str__(), __repr__() #값의형태를 구현하고 싶을때 repr __add__(), __sub__()..__gt..
오류 함수나 메소드가 처리 도중에 다음 명령문을 실행할 수 없는 상황. 여러개 있으면 class 하나만 있으면 함수가 된다 해결할 수 없는 것 = 오류,에러 예외처리 예외 발생 → 예외 상황정의 try, except구문 try: Exception 발생가능한 코드 블록 except [Exception클래스 이름 [as 변수]] : 처리 코드 예를 들어, try: 1번 코드.. 2.. except 처리 5.. 1에서 exception 발생하면 처리로 가고 다시 올라가는게 아니라 5번으로간다. 정상적으로 끝나면 exception 은 실행x exception 과 if문이 비슷 elif처럼 위에서 except 가 처리되면 except 처리한다. 영향을 미치는 것들을 버스가 안오면 그 밑에는 블럭처리해서 넣어준다 ..
path (경로) : 프로그램에서 사용할 자원의 위치를 path라고 한다. 경로를 지정하는 방법은 다 다르다. Root path: 시작이라는 것을 표시 1) 절대경로: 경로가 같은 자원은 같은 경로. 2) 상대경로: 내가 어디있느냐에 따라 달라진다. 현재위치를 기준으로 시작한다. 무조건./ 로 시작 예를 들어, (./)test.py생략가능 = test.py 입출력( IO) Input Output - 외부자원: 외부에 있는 데이터, file ,DB, 원격지컴퓨터(remote computer) 프로그램이 출력을 한다는 것은 외부자원에서는 입력을 한다는 것이다. 서로 맞물려있다. 데이터를 주고받는 것. - stream: 데이터의 흐름. 대상이 다르면 데이터 주고받는 것이 다르다. 함수가 바뀐다. ex. 전화 ..