데이터 분석시 리눅스를 사용하는 이유
딥상어동의 딥한 프로그래밍/엔지니어링2022. 4. 2. 23:29데이터 분석시 리눅스를 사용하는 이유

가짜연구소 내 Python - Data Engineering 스터디를 위해 작성했습니다. https://www.notion.so/chanrankim/PseudoLab-c42db6652c1b45c3ba4bfe157c70cf09 (가짜연구소 링크) https://www.notion.so/chanrankim/Data-Engineer-Python-83c206a662004120a8211a800581e124 (스터디상세 링크) https://www.youtube.com/watch?v=CFum4wDlj5Q ※본 영상을 참고했습니다. 왜 리눅스를 알아야하는가? 1. 리눅스가 윈도우보다 더 빠르다 2. 딥러닝을 할 때, 쿠다 라이브러리를 이용하기에 용이하다. 3. 클라우드 상에서 배포하기에 유리하다. 흠.... 하나 더..

[큰 수의 법칙] - 파이썬 동전던지기로 실험해보기
딥상어동의 딥한 통계학2022. 3. 21. 01:04[큰 수의 법칙] - 파이썬 동전던지기로 실험해보기

0. 큰 수의 법칙 큰 수의 법칙(law of large numbers, LLN)은 경험적 확률과 수학적 확률 사이의 관계를 나타내는 법칙으로, 표본집단의 크기가 커지면 그 표본평균이 모평균에 가까워짐을 의미한다 - 갓무위키 - 실험을 반복하면 진리에 가까워진다. 다만, 비용이나 시간의 한계가 있을뿐. $lim_{n\to\infty}P(\lvert\frac{S_n}{n}\rvert < \epsilon) = 1$ ​S(실행횟수)가 무한히 많아지면 경험적 확률 S_n/n 와 수학적 확률 p와의 차이는 아주 미세한 수(엡실론)보다 작게된다. 이를 큰 수의 법칙이라고 한다. 큰수의 법칙은 실제로 작동할까? 오늘은 파이썬 동전던지기 코드로 한번 테스트를 해보려 한다. 1. 동전던지기 함수 생성 import num..

[Pandas] Pandas_flavor로 Pandas API method 추가해보기
딥상어동의 딥한 데이터 처리/전처리2022. 3. 13. 03:06[Pandas] Pandas_flavor로 Pandas API method 추가해보기

가짜연구소 내 Python - Data Engineering 스터디를 위해 작성했습니다. https://www.notion.so/chanrankim/PseudoLab-c42db6652c1b45c3ba4bfe157c70cf09 (가짜연구소 링크) https://www.notion.so/chanrankim/Data-Engineer-Python-83c206a662004120a8211a800581e124 (스터디상세 링크) 0. 판다스를 사용하는 이유 왜 판다스를 사용할까? 내가 쉽사리 정의할 수는 없어서 관련된 글을 찾아봤다. Less writing and more work done https://data-flair.training/blogs/advantages-of-python-pandas/ 나는 위 문구가..

파이썬을 효과적으로 사용하기 위한 몇가지 방법들
딥상어동의 딥한 프로그래밍/Python2022. 3. 6. 01:03파이썬을 효과적으로 사용하기 위한 몇가지 방법들

본격적으로 글을 적기전에 시간 측정을 위한 간단한 데코레이터를 먼저 하나 만들고 시작하겠다. def check_time(func): def wrapper(*args, **kwargs): start = time.time() check_func = func(*args, **kwargs) total_time = time.time() - start print(f'이 함수 {func.__name__} 를 실행하는데 {total_time}초가 걸렸습니다.') return total_time return wrapper 1. 상수는 한번만 연산하자. 상수는 한번만 연산하는 것이 좋다. for loop안에서 상수가 반복될 경우 속도가 느려질 수 있다. @check_time def for_inside_constant(co..

중고나라 데이터로 해보고 싶은 것
분석 논리|전략2022. 2. 26. 15:43중고나라 데이터로 해보고 싶은 것

주동현님의 관점에서 시작하는 데이터엔지니어링을 보고 perspective Driven Data Engineering이란 용어를 처음 접하게 되었다. 현재는 강의가 비공개로 전환되어 링크를 첨부하지는 않았다. Perspective Driven Data Engineering이란? 현재는 강의도 내려간 것 같고, 관용어는 아닌듯 하여 함부로 정의하기는 어려울 것 같다. 영상을 보고 처음 내가 떠올렸던 의미는 다음과 같다. 실세계의 정보/니즈 들이 어떻게 데이터 엔지니어링에 반영될까? 데이터 엔지니어링도 일종의 서비스라고 생각해보자. 그렇다면, 그 서비스의 끝에는 서비스를 이용하는 엔드유저가 있을 것이다. 데이터 엔지니어링의 엔드유저는 누가 될 것인가? 최종 소비자인 고객이 될 수도 있고, 데이터를 사용하는 분..

[도서 리뷰] SQL 쿡북
나라는 존재/책2022. 2. 22. 23:55[도서 리뷰] SQL 쿡북

"한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다." 모든 SQL 사용자를 위한 쿼리 완벽가이드 표지부에 적혀 있는 말이다. 여기서 "사용자"라는 단어에 주목해보자. Learner가 아니라, User를 위한 책임을 알 수 있다. 예시로 책 내용 중 한페이지를 찍어보았다. 기초적인 문법이나 SQL/DB 구조에 대해서 자세히 설명하기 보다는 "각 케이스 별로 대응법"이 주를 이루고 있다. 즉, 이 책은 Learner 보다는 User를 위한 책이라는 생각이 들었다. SQL을 처음 배우는 사람보다는 현업에서 SQL을 다루는 사람들이 보면 더욱 좋을 것 같다. P73의 내용이다. SQL에서 TRUL OR NULL과 FALSE OR NULL의 개념에 대해서 다루고 있다. NOT IN 구문을 사용할 때, 중..

[Python] Dot.점 의 의미
딥상어동의 딥한 프로그래밍/Python2022. 2. 6. 13:23[Python] Dot.점 의 의미

Python에서 dot/점/. 의 의미를 알아보자. 0. 객체의 메서드, 속성에 접근 Python과 같은 프로그램을 객체 지향형 프로그래밍이라고 합니다. 데이터 분석을 위해 가장 자주 사용하는 패키지인 Pandas를 예시로 들어보겠습니다. import pandas as pd test_data = pd.DataFrame([[1, 2, 3], [3, 4, 5]], columns=['A', 'B', 'C']) test_data.info() test_data는 판다스라는 클래스의 데이터프레임 객체입니다. 이를, object instance라고 합니다. 이 객체에는 여러가지 속성과 메서드들이 있습니다. 메서드는 일종의 함수 기능이라고 생각하면 됩니다. 예를 들어, info()는 데이터프레임 객체에 있는 컬럼들의 ..

[Python] np.where을 이용하여 두 개의 데이터프레임 전체를 비교하기
딥상어동의 딥한 데이터 처리/전처리2022. 1. 23. 13:37[Python] np.where을 이용하여 두 개의 데이터프레임 전체를 비교하기

0. 비교 조건 1. 데이터 프레임 전체 원소들을 비교할 것 2. 벡터 연산을 사용할 것 3. 두 데이터 프레임의 Shape과 행/열 인덱스읠 배열 순서는 동일하다고 가정할 것 1. 비교 목표 두 개의 데이터프레임 전체를 비교하고 각 원소별로 minimum한 값을 리턴한다. 2. 코드 설명 1. 우선, 동일한 shape의 두 데이터 프레임 객체를 만들어 준다. import pandas as pd import numpy as np d1 = pd.DataFrame() d2 = pd.DataFrame() d1['a1'] = np.random.randint(1, 100, 10) d1['a2'] = np.random.randint(1, 100, 10) d1['a3'] = np.random.randint(1, 10..

[지수함수] - 우리가 코로나 확진자 수에 놀라는 이유
딥상어동의 딥한 데이터 처리/해석2022. 1. 18. 22:43[지수함수] - 우리가 코로나 확진자 수에 놀라는 이유

0. 들어가며 2019.11.17 코로나19가 우리의 일상을 덮쳤다. 하지만, 한동안은 코로나19 이슈에도 불구하고 비교적 잠잠했었는데 그 이유는 2020년 3월 이후 한동안은 확진자 수가 100명 아래였기 때문이다. http://www.dt.co.kr/contents.html?article_no=2020052902109919607024&ref=naver "절대 K방역 못따라간다"...영국의학저널의 `절규` ˝영국은 한국의 코로나19 접근법을 따라가기 어려울 것이다. 앞으로도.˝1840년에 창.. www.dt.co.kr (위풍당당했던 K방역) 한국의 코로나 방역을 극찬하는 2020년 5월의 기사다. 물론, 지금도 영국에 비해서는 훨씬 적은 편이다. (영국은 작년 연말 이후 확진자가 10만명 이상으로 늘어..

[Jupyter notebook] 주피터 노트북에서 폴더 이동하기
딥상어동의 딥한 프로그래밍/엔지니어링2022. 1. 13. 01:18[Jupyter notebook] 주피터 노트북에서 폴더 이동하기

0. 주피터 노트북에서 폴더를 이동하는 이유 데이터 분석을 하기 위해서는 데이터를 불러와야 하는데, 가장 간단한 방법은 로컬 폴더에 데이터를 저장해두고 로컬의 주소를 참조해서 데이터를 불러오는 방식이다. 내가 참조하고자하는 폴더에 어떤 데이터가 있는지 궁금할 수 있다. 이때, 주피터 노트북 내에서 폴더 주소를 이동하여 데이터를 확인할 수 있다. 1. !와 %의 차이 폴더 주소를 이동하는 명령어를 cd라고 한다. 위와 같이 동작한다. 참고) cd .. 를 입력하면 이전 주소로 돌아간다. 동일한 명령어를 jupyter notebook 내에서도 실행해볼 수 있다. 명령어는 동일하나 명령어 앞의 특수문자에 차이가 있다. ! VS % 현재, 내 jupyter notebook이 실행되고 있는 로컬 주소이다. !cd..

image