본문 바로가기

분류 전체보기545

[Pandas 데이터전처리] 2-2.Pandas 데이터구조 (DataFrame) pandas의 기본적인 데이터구조인 Series와 DataFrame 데이터엔지니어링/데이터사이언티스트 교육을 통해 배운내용을 복습하고, 추가로 공부한 내용을 정리하였습니다. 아래의 주피터내용은 여기 깃허브에서 확인할 수 있습니다. pandas를 사용하기에 앞서 numpy와 pandas 패키지를 모두 import해야한다. import numpy as np import pandas as pd DataFrame (데이터 프레임) 엑셀의 스프레드시트와 같은 개념으로, 2차원 행렬 데이터에 인덱스를 붙인 구조 (행과 열로 만들어진 2차원 배열) 데이터프레임의 각 열은 시리즈로 구성되어 있다. 1. 데이터프레임 생성 : pd.DataFrame() 데이터프레임을 생성하는 방법은 아래와 같이 4가지 경우 1) 리스트로.. 2021. 7. 15.
[Pandas 데이터전처리]] 2-1.Pandas 데이터구조(Series) pandas의 기본적인 데이터구조인 Series와 DataFrame 데이터엔지니어링/데이터사이언티스트 교육을 통해 배운내용을 복습하고, 추가로 공부한 내용을 정리하였습니다. 아래의 주피터내용은 여기 깃허브에서 확인할 수 있습니다. pandas를 사용하기에 앞서 numpy와 pandas 패키지를 모두 import해야한다. import numpy as np import pandas as pd Series(시리즈) 1차원 배열의 값에 대응되는 인덱스를 부여할 수 있는 구조 1. 시리즈 정의 : pd.Series() python의 list나 numpy가 array인자로 입력된다. 시리즈의 결과는 왼쪽에 index값, 오른쪽에 value가 동시에 확인된다. 왼쪽결과는 일반적인 series를 정의한 경우이고, 오른.. 2021. 7. 15.
[Pandas 데이터전처리] 1. Numpy,Pandas 라이브러리 알아보기 데이터의 가공과 처리에 유용한 python의 라이브러리 데이터엔지니어링/데이터사이언티스트 교육을 통해 배운내용을 복습하고, 추가로 공부한 내용을 정리하였습니다. 파이썬 라이브러리를 활용한 데이터분석의 책 내용과 비슷한 것 같다. Numpy(넘파이) 과학연산을 위한 라이브러리, 리스트, 배열, 매트릭스 연산 등을 빠르게 만들어주는 라이브러리 일반적으로 대규모데이터의 리스트는 중첩된 자료를 처리하는게 느리고 복잡하지만 numpy 라이브러리를 써서 처리 속도를 30~40배 빠르게 할 수 있다! import numpy as np 넘파이 라이브러리를 통해 배열에 접근하는 함수는 다음과 같다. numpy로 1차원 배열접근 numpy로 2차원 배열접근 numpy를 사용해서 array에 접근하면 모든원소에 대해서 조건.. 2021. 7. 15.
카카오가 소개하는 데이터엔지니어링(DatatEngineering) 아래의 카카오 블로그에서 소개한 내용을 바탕으로 작성된 글입니다. 자세한 내용은 카카오 기술블로그를 참고해주세요! https://tech.kakao.com/2020/11/30/kakao-data-engineering/ 데이터 엔지니어링이란 안녕하세요, 데이터정보플랫폼팀 kenny입니다.카카오는 매년 신입 개발자 공채와 인턴 프로그램을 진행합니다. 카카오 그리고 데이터 엔지니어링에 관심 있는 주니어 개발자 또는 예비 개발자분 tech.kakao.com 데이터엔지니어링이란? 사실 회사마다 정의하는 업무도 다르고 개인별로 상상하는 바도 다르다. 우선 위키피디아에서 검색해보면 information engineering과 Data Science가 나완다. 좀더 구제체적으로 James Furbush의 글 Data .. 2021. 7. 14.
[Python] Dict로 문자열 count하기 | setDefault(i,0), get(i,0) 앞에서 counter(), defaultdict()랑 비슷하게 문자열의 count를 셀 수 있는 또 다른 방법이다. 사실 이게 더 일반적이고(내기준) 자주 쓰였던 방식인데, 조금더 간단하게 쓸 수 있는 함수를 찾아서 정리해본다. 일반적인 Dict처리 예를 들어 주어진 단어에 들어있는 각 알파벳 글자의 수를 세어서 사전에 저장해주는 함수를 구현하자면, 주로 이렇게 dict안에 있는지 확인하고, 있으면 기존의 count값에 더해주고 없으면 새로1을 추가했다. def countLetters(word): check={} for letter in word: if letter in check: check[letter]=check[letter]+1 else: check[letter]=1 print(check) wor.. 2021. 7. 12.
[Python] 문자열 애너그램(Anagrams) | Counter(), DefaultDict() 이 문제를 풀다가 애너그램을 찾는 방법에 대해서 정리해본다. 풀이를 하며 Counter를 이용한 방법과 DefaultDict를 이용한 방법 2가지를 배웠다. 요구사항 우선 문제의 요구사항을 정리해보면 이렇다. 애나그램 : 첫번째 문자열을 재배열했을때 두번째문자열이 되면, 두개의 문자열들은 애나그램 쌍이라고 칭한다. 두 문자열을 구성한 알파벳이 같아야하고, 그 알파벳들의 frequency도 같아야함 ex: bacdc와 dcbac는 애나그램 ex: bacdc와 dcbad는 애나그램이 아니다.(문자열길이는 다를수도 있음) 두개의 문자열을 애나그램으로 만들기 위해 필요한 최소문자 삭제수는? ex : a=cde, b=dcf 1.a에서 e삭제 2.b에서 f삭제 a=cd, b=dc -> 애나그램 리턴값 : 2 즉, .. 2021. 7. 12.
[Python] 커스텀한 기준으로 sort()하기 cmp_to_key() 이문제를 풀다가 알게된 새로운함수 python내용 list.sort() 의 key 파라미터로 lambda 함수를 넘겨 주어, element의 정렬 조건을 설정했다. 그러니까 lambda에 정렬기준을 '직접' 입력한 것이다. 예를들어 튜플의 1번째 글자를 기준으로 내림차순 정렬한다고 하면 이렇게 x[1]을 정렬기준으로 지정해줬다. arr = [(1, 2), (2, 3), (1, 3), (2, 4), (3, 4)] arr.sort(key=lambda x: x[1], reverse=True) # 튜플 1번째 값으로 정렬 print(arr) 앞서 한번 정리한적있다. lambda로 sort하는 방법. https://pearlluck.tistory.com/462 [Python] 람다식, lambda로 sorted .. 2021. 7. 12.
[python] 대문자로 변환하기 upper() / capitalize() / title() 해커랭크 이 문제를 풀다가..대문자로 변환하는 upper()만 알고 있어서 조금 헤맸는데알고보니까 capitalize() 를 알고 있으면 완전 쉬운 문제였다..! 그래서 이번엔 대문자로 변환하는 함수들을 정리해보려고 한다. 대문자로 변환하는 메소드 upper() : 모든알파벳을 대문자로 변환capitalize() : 맨 첫글자만 대문자로 변환 title() : 알파벳 외의 문자(숫자, 특수기호, 띄어쓰기 등)로 나누어져 있는 영단어들의 첫 글자를 모두 대문자로실제로 확인해보았다.A='abcd'print(A.upper()) #ABCDprint(A.capitalize()) #Abcdprint(A.title()) #AbcdB='a2b3c4'print(B.upper()) #A2B3C4print(B.capit.. 2021. 7. 11.
[책정리]빅데이터를 지탱하는 기술 5.3 스트리밍형 데이터플로우 6월 선정도서 - 빅데이터를 지탱하는 기술 선정계기 - 데이터가 쌓이고 흐르는 전체적인 구조를 깊이 있게 이해할 수 있고, 미래의 데이터엔지니어로써 해야하는 업무들의 전반적인 흐름을 파악할 수 있을 것 같아 선정(기대가 된다 목차 챕터5. 빅데이터의 파이프라인 5-1. 워크플로관리 5-2. 배치형의 데이터플로우 5-3. 스트리밍형의 데이터플로우 배치처리 VS 스트림처리 배치처리 도달한 데이터를 분산스토리지에 보관하고, 정기적으로 추출하여 분석할 수 있도록 데이터를 처리한다. 데이터가 영속적으로 보존되기 때문에 몇번이고 재실행가능, 장기적인 데이터분석을 예상하여 집계효율이 높은 열지향 스토리지 구축 가능 다만 데이터가 분석할 수 있게 될때 즉 데이터를 모아서 열지향 스토리지를 구축할때 까지 시간이 걸린다... 2021. 7. 11.
[책정리]빅데이터를 지탱하는 기술 5.2 배치형의 데이터 플로우 6월 선정도서 - 빅데이터를 지탱하는 기술 선정계기 - 데이터가 쌓이고 흐르는 전체적인 구조를 깊이 있게 이해할 수 있고, 미래의 데이터엔지니어로써 해야하는 업무들의 전반적인 흐름을 파악할 수 있을 것 같아 선정(기대가 된다) 하 면접이랑 코딩테스트를 준비하면서 병행하지 못해 아직도 못 끝내고 있다...얼릉 끝내야하는데.. 목차 챕터5. 빅데이터의 파이프라인 5-1. 워크플로관리 5-2. 배치형의 데이터플로우 5-3. 스트리밍형의 데이터플로우 챕터6. 빅데이터 분석 기반의 구축 6-1. 스키마리스 데이터의 애드훅분석 6-2. 하둡에 의한 데이터파이프라인 6-3. 워크플로 관리도구에 의한 자동화(airflow) 6-4. 클라우드 서비스에 의한 데이터파이프라인 복잡한 텍스트처리나 다단계의 데이터파이프라인을 .. 2021. 7. 11.