앎을 경계하기

Data Science 9

판다스 pandas concat merge join 정리

DataFrame 붙이는 방법들 pd.concat pandas.concat(objs, axis=0, join='outer', ignore_index=False, keys=None, levels=None, names=None, verify_integrity=False, sort=False, copy=True) obj : df/series, 데이터프레임 또는 시리즈 axis : int, 0 - 인덱스, 1 - 컬럼 join : str, inner 또는 outer ignore_index : Bool, 인덱스 새로 부여 keys : list, multiindex 만드는 경우, integer index말고 keys에 지정해줄 수 있음 names : list, multiindex의 각 인덱스 이름 columns :..

Data Science 2022.03.12

ABC 분석

ABC 분석 : 재고관리 등에서 사용하는 분석 방법 매출 중요도에 따라 상품을 나눠서 그에 맞는 전략을 만들 때 사용한다. A등급 : 상위 0~70% B등급 : 상위 70~90% C등급 : 상위 90~100% 으로 등급을 나눈다. 데이터 작성 방법 1. 매출이 높은 순서데로 데이터 정렬 2. 매출 합계 집계 3. 매출 합계 기반으로 각 데이터의 비율과 구성비를 구한다. 4. 구성비를 기반으로 구성비 누계를 구한다. (카테고리의 매출과 해당 시점의 누계를 따로 계산하고, 총 매출로 나누면 구성비 누계를 구할 수 있다.) 여기서 주의할 점, 등급을 SQL에서 구하게 되면 나중에 수정도 SQL로 해야한다. ABC 분석 지식 여부 등을 고려해서 SQL로 처리할지, 리포팅 툴에서 처리할 지 판단해야한다.

Data Science 2022.02.02

실무 SQL 공부 3-3 - 데이터 가공 SQL

하나의 테이블에 대한 조작 데이터 집계 SQL에서는 집계 함수라고 부르는 여러 함수를 제공한다. 레코드의 수를 세주거나, 합계, 평균, 최대, 최소를 계산하는 함수부터 통계 처리를 사용하여 통계 지표를 출력하기도 한다. 데이터 가공 테이블을 기반으로 데이터를 처리하는 방법을 알아본다. 만약 테이블의 형식이 집계에 적합하지 않은 경우, 어떻게 테이블을 가공해야하는지에 대한 방법도 알아보자. 1. 그룹의 특징 잡기 집계함수는 여러 레코드를 기반으로 하나의 값을 리턴하는 함수 count, sum함수 등 테이블 전체의 특징량 계산하기 SELECT COUNT(*) AS total_count , COUNT(DISTINCT user_id) AS user_count , COUNT(DISTINCT product_id) ..

Data Science 2022.01.22

실무 SQL 공부 3-2 - 데이터 가공 SQL

여러 개 값 조작 1. 문자열 연결하기 CONCAT함수나 ||연산자를 사용한다. SELECT user_id, -- redshift에서는 매개변수 2개까지 밖에 안되기때문에 ||를 사용하여 연결하는것이 좋음 CONCAT(pref_name, city_name) AS pref_city, pref_name || city_name AS pref_city FROM mst_user_location 2. 여러 개 값 비교하기 4분기 매출 테이블에서 분기별 매출 증감을 판정하는 예제 SELECT year, q1, q2, -- q1, q2 매출 변화 평가 CASE WHEN q1 < q2 THEN &#39;+&#39; WHEN q2 = q2 THEN &#39; &#39; ELSE &#39;-&#39; END AS judge..

Data Science 2022.01.15

실무 SQL 공부 3-1 - SQL로 데이터 가공

하나ㅣ 값 조작 1. 코드 값을 레이블로 변경하기 저장된 코드값을 그대로 집계에 사용 시, 리포트 가독성이 낮아짐 그래서 변환 작업이 필요하다. 집계시 미리 코드 값을 레이블로 변경하는 방법 case문 사용하기 CASE WHEN THEN END조건식에 해당하는 값이 없는 경우 NULL 아니면 ELSE 을 사용해서 디폴트 값을 지정할 수 있다. SELECT user_id, CASE WHEN register_device = 1 THEN &#39;데스크톱&#39; WHEN register_device = 2 THEN &#39;스마트폰&#39; WHEN re gister_device = 3 THEN &#39;애플리케이션&#39; -- ELSE 디폴트 값 END AS device_name FROM mst_user..

Data Science 2022.01.15

실무 SQL 공부 2 - 데이터

1. 데이터의 종류 1. 업무 데이터 업무에 필요한 데이터 1. 트랜잭션 데이터 구매 데이터, 플레이 데이터 등 서비스와 시스템을 통한 사용자의 행동을 기록한 데이터 트랜잭션 데이터에는 회원ID, 상품ID와 같은 마스터 데이터가 포함되는 경우가 많다. 따라서 활용 시, 마스터 데이터와 결합이 필요함 2. 마스터 데이터 서비스와 시스템이 정의하고 있는 데이터 특정 회원이 상품을 구매한 이력이 저장된 트랜잭션 데이터가 있을 때, 어떤 상품의 카테고리가 가장 많이 팔렸는지를 알고 싶다면 회원, 상품 마스터 데이터를 결합시켜서 확인해야한다. 3. 업무데이터 특징 데이터의 정밀도가 높음 - 데이터 처리 중 문제 발생 시, 트랜잭션과 롤백을 사용해서 이전 상태로 돌아가기 때문에 데이터의 정합성이 보증된다. 갱신형 ..

Data Science 2022.01.15

실무SQL공부 1 - 미들웨어 시스템

1. PostgreSQL 오픈소스 RDB 표준 SQL 준수, 분석에 필요한 구문 제공 2. Apache Hive RDB에서 대량의 데이터를 처리할 때 보틀넥이 발생하는 데이터 I/O를 해결 고속으로 데이터를 처리하기 위한 아키텍처로 분산 파일 시스템이 고안됨 분산 파일 시스템 거대한 데이터를 작게 분할해서 여러 개의 디스크에 분산시켜 저장하고 각 디스크에서 동시에 데이터를 읽어 고속으로 대용량 처리가 가능함 하이브는 HDFS 분산파일 시스템 위의 데이터를 SQL스러운 인터페이스로 처리하는 시스템 동시에 처리한 데이터에 대한 순서를 맞춰주는 것이 중요한데, 이 방법이 MapReduce Hive → Hadoop 생태계의 일부, HiveQL로 MapReduce 잡으로 변환하여 병렬 분산 처리 수행 파일 기반 ..

Data Science 2022.01.15

Visualization - matplotlib histogram

히스토그램은 데이터를 파악하기 위해 매우 유용한 시각화 방법이다. 예시를 들어 정리하는 것이 편하다. 10명의 키를 조사한 결과가 아래와 같다. 사람 키 1 180 2 175 3 155 4 160 5 161 6 178 7 188 8 182 9 163 10 172 151~160, 161~170, 171~180, 181~190 범위로 데이터를 표현하고 싶을 때 히스토그램이 적절하다. 히스토그램의 "bin"은 데이터를 담을 바구니 수라고 생각하면 편하다. 그렇다면, y축은 각 바구니에 담긴 데이터의 수라고 할 수 있다. 위 예시에서는 bins = 4가 될것이다. heights = [180,175,155,160,161,178,188,182,163,172] plt.hist(heights, bins=4, edgec..

Data Science 2021.08.28

Visualization - matplotlib line chart, scatter chart

자주 사용하지만 블로그에 따로 정리해놓지 않아서 이번 데이터캠프 컨텐츠를 이용하기는 김에 정리해야겠다. 시각화를 하는 이유? - 데이터 분석을 위해 시각화가 필요하다. - 데이터 탐색을 위해 사용한다. - 새로운 Insight를 찾아 다른 사람들과 공유한다. matplotlib 사용해보기 import matplotlib.pyplot as plt year = [1998, 1999, 2000, 2001] pop = [8.19, 10.08, 12.54, 16.88] plt.plot(year, pop) plt.show() plot(x축, y축)을 하게 되면 다음과 같이 꺾은 선 그래프가 나온다. import matplotlib.pyplot as plt year = [1998, 1999, 2000, 2001] p..

Data Science 2021.08.28