본문 바로가기

Python

(10)
제휴 모델 자동화[1 : 애드픽(AdPick)의 뉴스픽(NewsPick) 링크 자동으로 만들기 제휴 모델 자동화에 대한 궁금증이 있어 재미삼아 만들어 본 애드픽의 제휴 서비스인 뉴스픽의 연예뉴스를 가져와 자동으로 본인의 제휴 링크로 자동으로 변환하는 프로그램을 만들었습니다. 동작 방법 1. 기본정보 입력: 애드픽 아이디/비밀번호 등록, 크롬 드라이버 위치 지정, 링크 만들 뉴스픽 URL지정, 가져올 뉴스 갯수 입력, 결과 화일 자동 생성 위치 지정 2. 실행하면, 자동으로 애드픽에 로그인 됨 3. 뉴스픽 URL에서 뉴스 상세 URL, 제목을 자동으로 크롤링 후 애드픽에서 본인의 제휴 URL로 자동 변경 4. 상세 뉴스 URL이동 후 상세 뉴스 기사와 이미지 정보 가져옴. 3번 정보와 합쳐짐 5. 결과 화일 자동 생성 후 CSV형태 저장 동작 상세 현황 1. 아래와 같이 기본정보를 입력하고 실행하면..
Python으로 코호트 분석(Cohort Analysis)하고 Pandas 명령어 시행 What is Cohort Analysis? 코호트 분석이란? 코호트(Cohort)는 가입 날짜, 첫 구매 월, 생년월일, 유입 채널 등 공통점을 공유하는 사용자 그룹을 말하는 것으로 비즈니스에서 많이 사용되는 용어입니다. 코호트 분석은 이러한 그룹을 시간에 따라 추적하여 파악하는 데 도움이 되는 방법으로 반복 적인 고객 행동 (구매, 참여, 지출 금액 등)을 이해하고 고객 및 수익 유지를 모니터링하는데 많이 이용을 합니다. 코호트 분석이 가치가 있는 이유? 코호트 분석은 고객의 충성도로 비즈니스의 건전성과 "고착성(Stickiness)"을 이해하는 데 도움을 줍니다. 신규 고객을 확보하는 것보다 현재 고객을 유지하는 것이 비용적으로 효율적이기 때문에 "고착성(Stickness)"은 매우 중요합니다. S..
입문자 위한 Python 기본 안내서 [2] : 제어문에 대해 머신러닝 공부를 하기전 입문자를 위한 Python 기본 안내서 입니다. 무작정 따라하면서 기본을 알아보는 시간입니다. 무작정 따라합니다! 2. Python 제어문 2-1 조건문(if): 이거하나면 끝 (if 조건1: 활동1 elif 조건2: 활동2 else: 활동3) a = -2; if a > 0: print('a는 양수') elif a < 0: print('a는 음수') else: print('a는 0') 2-2 for 반복문: 예제로 익혀봐요. list1 = [] num_list = [1,2,3] for num in num_list: list1.append(num*2) print(list1) print(list1) → [2, 4, 6] 2-3 while 반복문: 예제로 익혀봐요. order = 1 w..
입문자 위한 Python 기본 안내서 [1] : 자료형에 대해 머신러닝 공부를 하기전 입문자를 위한 Python 기본 안내서 입니다. 무작정 따라하면서 기본을 알아보는 시간입니다. 무작정 따라합니다! 1. Python 자료형 1-1 숫자형: 숫자형 데이터는 정수형(int)과 실수형(float)으로 구분됩니다. 정수형은 자연수와 정수, 소수점이 있는 숫자는 실수형이죠. var1 = 10 type(var1) → int *)자료형을 확인할 때는 type을 사용합니다. var2 = 3.14 type(var2) → float var3 = 1+3 var4 = 3+1.3 type(var3) type(var4) → int → float *)정수형과 실수형을 더하면 실수형으로 변합니다. 1-2 문자형: 큰 따움표(" ") 또는 작은 따옴표(' ') 안에 알파벳, 한글, 숫자, 공백..
[실습] 매일 경제 기사 Python 크롤링 후 Dataframe에 넣은 후 CSV에 저장하기 매일경제에서 '부동산'을 검색하여 나오는 기사를 크롤링하는 내용입니다. 내부 오류인지 매일경제에서 2021년 이전을 검색하면 검색결과가 안나오고 있습니다. [내부문제인듯~] 크롤링 한 후 Dataframe에 넣은 후 CSV에 저장하는 단계를 거치게 됩니다. 본 내용을 통해 Dataframe을 응용한 손쉬운 내부 저장과 한 줄로 CSV로 전환을 하는 부분을 배워 유익했음. import bs4 import re from urllib import parse import requests #input date_start = "20210410" date_end = "20210421" search = "%BA%CE%B5%BF%BB%EA" #부동산 y1 = date_start[0:4] m1 = date_start[4:..
Top Python Libraries for Data Science, Data Visualization & Machine Learning OpenSource의 세계는 위대하다. 그리고 알고 싶은게 너무 많다. [하기 출처] Top Python Libraries for Data Science, Data Visualization & Machine Learning - KDnuggets This article compiles the 38 top Python libraries for data science, data visualization & machine learning, as best determined by KDnuggets staff. www.kdnuggets.com Data 1. Apache Spark Stars: 27600, Commits: 28197, Contributors: 1638 Apache Spark - A unified an..
[TIP] Jupyter에서 다른 폴더의 library, import 호출하기 Jupyter에서 Python 프로그램시 다른 폴더의 Library를 호출해서 이용해야 하는 경우 아래와 같이 진행하면 합니다. 1. import os, sys 합니다. import os, sys 2. 호출하고자 하는 Library가 위치한 곳을 sys.path.append()에 입력합니다. module_path = os.path.abspath(os.path.join('..')) if module_path not in sys.path: sys.path.append(module_path+"\\Common_Module") 3. 2번 아래쪽에 import하여 호출하면 끝 import CMNLP as CMNLP
Python에서의 lambda(람다) Function의 사용 Python에서의 Lambda는 한시적으로 사용하는 함수의 정의를 의미합니다. 즉 일반적 함수로 def 선언을 해주는 것이 아니라 필요한 곳에서 사용하고 즉시 폐기되는 함수입니다. Lambda는 명료하며 ML에서 자주 사용을 하게 되는데 무엇보다 매우 빠른 연산 처리에 능합니다. 하기 형식으로 표현이 됩니다. 잘 이용하면 Python의 Loop, for를 대체하며 속도를 높일 수 있습니다. Lambda 인자리스트 : 표현식 아래의 형식을 확인하면 간단하게 이해할 수 있습니다. 람다 정의에서는 "return"문이 포함되어 있지 않습니다. g = lambda x:x**2 print(g(8)) f = lambda x,y:x+y print(f(2,2)) 만약 "return"문과 유사하게 반환 값을 만드는 표현식..
Pycharm과 Jupyter Notebook 연결하기 Python에서 가장 유명한 IDE인 PyCharm에서 Jupyter NoteBook을 연결하는 방법에 대해 알아보겠습니다. 우선 Anaconda를 설치해야 합니다. Python의 ML과 AI Platform으로 데이타사이언티스티라면 모두가 사용할 것 같습니다. Anaconda에서는 Python 기본 지원하는 것은 물론, Numpy, Pandas, Tensorflow 등의 데이터 분석에 꼭 필요한 수많은 Python Library를 집합해 두어 Anaconda만 설치를 하여도 데이타 분석에 필요한 다양한 Library를 일일이 설치하는 번거로움을 덜 수 있습니다. [다운로드] Anaconda에 설치된 내용 중 Jupyter NoteBook의 장점은 셀 단위로 작성하여 실행할 수 있기에 큰 파이썬 파일도 ..
[Python] 반복문의 사용 Range, Enumerate, for in loop Range Python에서 range 함수는 자주 사용되는 함수 중 하나입니다. 연속된 숫자(정수)를 만들어주는 range() 함수의 사용법을 정리해봅니다. 1. range(종료숫자): (종료숫자-1)까지 1씩, 숫자를 증가시키게 됩니다. 0부터 시작합니다. 2. range(시작숫자, 종료숫자): 시작숫자를 시작으로 (종료숫자-1)까지 1씩, 숫자를 변경합니다. 2. range(시작숫자, 종료숫자, Step): 시작숫자를 시작으로 (종료숫자-1)까지 Step만크 변화시키며 숫자를 변경합니다. range()의 결과는 반복가능(iterable)하기 때문에 for문을 사용해 출력 할 수 있습니다. 보통 일반적으로 사용하는 방법입니다. range_1 = range(10) print("\n-- list(range..