본문 바로가기
반응형

Data52

[Pandas] 가상 쇼핑몰 고객주문 데이터 전처리2 - 국가별,월별,요일별,t시간대별 매출 프로젝트(?)를 하면서 pandas를 계속 썼지만, 쓰던 함수만 쓰고 계속 검색하다보니 그렇게까지 익숙한 편은 아니였다. 그래서 개인적으로 다양한 데이터를 가지고 pandas를 더 공부해보고자 시작하는 글~! 가상쇼핑몰 고객주문 데이터 https://archive.ics.uci.edu/ml/datasets/Online+Retail 온라인 리테일 사이트의 2010년 12월부터 2011년 12월까지의 데이터 -> 약 500,000건 (꽤 많아보인다!) 1. 데이터불러오기 및 확인 앞에서 한번 처리하고 난 후 csv로 떨군 그 파일을 가져와서 사용한다. 2. 국가별 매출 groupby(기준컬럼) = 그룹화하고, sum() ['컬럼명] = 그룹화한 상태에서 집계함수를 수행하고, sort_valeus() = va.. 2021. 8. 24.
[Pandas] 가상 쇼핑몰 고객주문 데이터 전처리1 - null처리 및 타입변경 프로젝트(?)를 하면서 pandas를 계속 썼지만, 쓰던 함수만 쓰고 계속 검색하다보니 그렇게까지 익숙한 편은 아니였다. 그래서 개인적으로 다양한 데이터를 가지고 pandas를 더 공부해보고자 시작하는 글~! 가상쇼핑몰 고객주문 데이터 https://archive.ics.uci.edu/ml/datasets/Online+Retail 온라인 리테일 사이트의 2010년 12월부터 2011년 12월까지의 데이터 -> 약 500,000건 (꽤 많아보인다!) 1. 데이터불러오기 및 확인 컬럼명파악 컬럼명 설명 invoiceNo 주문 번호 StockCode 아이템 아이디 Description 상품 정보 Quantity 상품 주문 수량 InvoiceDate 주문 일자, 시간 UnitPrice 상품 가격 Customer.. 2021. 8. 24.
애자일(Agile) 방법론- 스크럼(Scrum) VS 칸반(Kanban) 데이터팀은? Waterfall VS Agile 폭포수 모델(waterfall model) 전통적인 방법으로 [요구사항분석->기획->디자인->개발->테스트->출시] 순서대로 진행하는 방식 마치 폭포가 떨어지는식으로 순차적인 단계를 밟으며 진행 하지만,이 방식대로 진행할 경우 수정하기가 어렵다. 하나의 단계가 끝나야 다음단계로 넘어갈 수 있어서, 피드백을 즉각즉각 반영할 수 없다. 보통 현실에선 요구사항 분석 및 기획단계에서 모든걸 100% 예상할 수가 없다. 그래서 수정을 해야할 경우 다시 요구사항분석->기획->디자인->개발 이 흐름을 기다려야한다. 결국 제대로 이슈들이 처리되지 않은채 엉키게 되면 코드품질도 떨어지고, 요구사항도 만족하지 못한 결과로 이어짐 애자일(Agile) 방법론 전통적인 방법론 보다 조금더 유연.. 2021. 8. 16.
ETL ELT 차이 | 요즘엔 ETL에서 ELT로 흐름이 바뀌고 있다?@! ETL이란? Extract, Transform, Load 의 앞글자를 딴 용어인데, 여러가지 데이터소스에서 추출(Extract)하고, 데이터를 원하는 형태로 변형(Transform)하고, DW로 적재(Load)하는 과정. 즉, 데이터소스에서 가져온 rawdata로 데이터웨어하우스에 바로 저장할 수 없으니 ETL과정이 필요하다. 핵심은 Tranform하는 단계. 비즈니스 또는 분석용도에 맞춰 데이터를 잘 정제해야한다. 당연히 데이터크기가 크면 클수록, Tranform하는 시간도 오래걸린다. ETL파이프라인이 설계된 후에는 1일1회 등 방식으로 업데이트된 내용을 다시 가져와서 새로운 내용을 저장한다. ELT란? 요즘에는 ETL에서 ELT방식으로 흐름이 바뀌고 있다. T와 L의 위치가 바뀐 ELT 기존의 EL.. 2021. 8. 16.
[Kafka] Docker로 Kafka구축하기 | 트위터API사용해서 실시간데이터 전송하기 이번엔 실제 트위터 실시간 데이터를 kafka로 보내려고 한다!! 두둥! 기대된다. 이걸 하기 위해선 트위터 key가 필요하다 (무려4개나..) 그래서 트위터api 사용 신청을 사전에 해야한다! 나는 이미 빅데이터를 지탱하는 기술 책의 실습을 진행하기 위해서 신청받았었다! (엄청오래걸리고 승인이 까다롭다ㅠ) Producer 구현 나는 트위터의 실시간데이터 중에서 '김연경'키워드를 가지고 필터링을 할 예정이다. 이걸 실행하면 필터링한 데이터를 producer가 가져와서 consumer에서 보이겟지!? from tweepy.streaming import StreamListener from tweepy import OAuthHandler from tweepy import Stream from kafka imp.. 2021. 8. 11.
[Kafka] Docker로 Kafka 구축하기 | Python으로 Producer,Consumer 구현 Kafka 테스트해보기2-Python으로 메세지 생성 이번엔 이렇게 python으로 Producer와 Comsumer를 구현해 볼 것이다. 그래서 연속적으로 데이터를 보내는걸 테스트해보려고 한다. Producer 구현 from kafka import KafkaProducer from json import dumps import time topic_name = "topic_test" producer = KafkaProducer( acks=0, compression_type='gzip', bootstrap_servers=['localhost:9092'], value_serializer=lambda x: dumps(x).encode('utf-8') ) start = time.time() print("[begi.. 2021. 8. 11.
[Kafka] Docker로 Kafka 구축하기 | Producer에서 Consumer로 메세지 전송 목표 카프카를 이전에 간단한 이론정도로 학습해봤지만, 뭔가 제대로 와닿은 느낌이 없었다. 그냥 대략적으로 훑어본 수준이고, 프로젝트를 하긴 했지만 뭔가 시착오가 있어서 제대로된 결과물이 만족스럽지 않아서 다시 도전 해보려고한다! 특히 그때는 ec2에다가 직접 카프카를 설치했지만, 이번엔 도커로 해보자! 그래서 나의 목표는 아래와 같이 3가지이다. - docker로 카프카 구축해보기 : topic만들고, 메세지를 직접 입력해보면서 프로듀서와 컨슈머 확인해보기 - Python으로 실시간 데이터 전송하기 : 연속적으로 들어오는 임의의 데이터를 python으로 만들고 메세지 전송확인하기 - 트위터API를 사용해서 실제데이터 전송하기 : 이제 python코드를 직접 수정해서 실제 데이터를 전송해보는 것이다. Do.. 2021. 8. 10.
[Pandas 데이터전처리] 3-2.Dataframe 조작함수2 apply,cut,set_index DataFrame으로 데이터를 조작하기 위한 여러가지 함수의 사용방법 데이터엔지니어링/데이터사이언티스트 교육을 통해 배운내용을 복습하고, 추가로 공부한 내용을 정리하였습니다. 아래의 주피터내용은 여기 깃허브에서 확인할 수 있습니다. 6. 동일한 연산반복 : apply() 동일한 연산을 모든열에 혹은 모든 행에 반복 적용하고자 할때 사용 apply(반복적용할 함수, axis=0/1) : 열마다(0), 행마다(1), 생략시 기본값0 집계함수는 행/단위 백터화연산을 수행하기 때문에 굳이 apply()를 쓸 필요가 없다. lambda 함수나 사용자 정의 함수를 각 열 또는 행에 일괄 적용시키기 위해 사용 7. 데이터변형(관측데이터->범주형데이터) : cut(), 카테고리객체 값의 크기를 기준으로하여 카테고리 값.. 2021. 7. 15.
[Pandas 데이터전처리] 3-1.Dataframe 조작함수1. value_counts(), 정렬 DataFrame으로 데이터를 조작하기 위한 여러가지 함수의 사용방법 데이터엔지니어링/데이터사이언티스트 교육을 통해 배운내용을 복습하고, 추가로 공부한 내용을 정리하였습니다. 아래의 주피터내용은 여기 깃허브에서 확인할 수 있습니다. 1. 데이터개수세기 : count() NaN값은 세지 않는다. 2. 카테고리값 세기 : value_counts() 각각의 값이 나온 횟수를 센다. 파라미터 normalize=True 를 사용하면 각 값 및 범주형 데이터의 비율을 계산 - 시리즈에서 카테고리값 세기 - 범주형 데이터에서 카테고리값 세기 - 데이터프레임에서 카테고리값 세기 3. 데이터정렬 - 시리즈에서 데이터 정렬 sort_index() : 인덱스를 기준으로 정렬 sort_value() : 데이터 값을 기준으로 .. 2021. 7. 15.
[Pandas 데이터전처리] 2-2.Pandas 데이터구조(Dataframe 인덱싱) pandas의 기본적인 데이터구조인 Series와 DataFrame 데이터엔지니어링/데이터사이언티스트 교육을 통해 배운내용을 복습하고, 추가로 공부한 내용을 정리하였습니다. 아래의 주피터내용은 여기 깃허브에서 확인할 수 있습니다. 데이터프레임 인덱싱방법 1. 열기준 인덱싱 2. 인덱서를 사용하지 않는 행기준 인덱싱 3. 인덱서를 사용하는 행기준 인덱싱 1. 열기준인덱싱 1) 하나의 열추출 하나의 열을 가지고 오는 방법 : df[컬럼명] -> 그 결과는 시리즈 타입을 가지고 있다. 2) 2개이상의 열추출 데이터프레임으로 리턴받고자 하면 : df[[컬럼명]] -> [컬럼명]을 리스트형태로 사용한다. 컬럼명이 문자열일 경우, 수치인덱스를 사용할 수 없다. 위치인덱싱(index번호로 찾는것) 을 사용할 수 없어.. 2021. 7. 15.
728x90

$(document).ready(function() { var $toc = $("#toc"); $toc.toc({content: ".tt_article_useless_p_margin", headings: "h2,h3,h4"}); });