본문 바로가기

분류 전체보기261

[e-commerce] final-project 어떤 데이터를 분석하나?https://www.kaggle.com/datasets/bytadit/transactional-ecommerce/data E-commerce App Transactional DatasetCuctomer360 transactional dataset. For study only please, not for reserach use!www.kaggle.com  테이블 구성customerclick_streamtransactionsproductCustomer Table (고객 정보):고객의 고유 ID, 이름, 성별, 이메일, 기기 정보, 위치 정보, 앱 가입 날짜를 포함.Product Table (제품 정보):패션 제품의 카테고리, 색상, 사용 목적, 시즌별 타겟 등 제품 세부 정보를 포함.. 2025. 1. 17.
[DAU, Funnel] 어느 단계에서 이탈이 발생하는가? 목표- DAU(일간 활성자 수), MAU(월간 활성자 수) 추이는? - 어느 요일에 가장 많이 방문하는가?- 사이트 체류시간 평균은? - 조회만 한 유저, 장바구니에 담은 유저, 구매까지 한 유저별 체류시간 비교- 퍼널 분석 - 어느 단계에서 가장 많은 이탈이 발생하는가? - 어느 집단(군집)에서 가장 많은 이탈이 발생하는가? 라이브러리 호출import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsimport plotly.express as pximport warningswarnings.filterwarnings("ignore")from scipy import statsimport.. 2025. 1. 14.
[QCC] Cohort-Analysis SQL 문제 1테이블 설명 :students 테이블은 학생에 대한 정보를 담고 있습니다. 테이블 구조와 각 컬럼의 의미는 다음과 같습니다.컬럼명 타입 설명STUDENT_IDINT학생 ID (PK)NAMEVARCHAR학생 이름GENDERCHAR(1)성별 (M/F)AGEINT나이SCOREDECIMAL시험 점수분석해야 할 내용은 다음과 같습니다 :각 성별(GENDER) 기준으로 시험 점수가 높은 상위 3명의 학생 성별, 이름과 점수를 반환하는 SQL 문을 작성하세요.두 학생이 동점일 경우, 나이가 많은 학생을 우선합니다. 결과는 성별(GENDER) 오름차순, 순위 오름차순으로 정렬하여 출력하세요.출력 값 예시students 테이블이 다음과 같다면 :STUDENT_ID NAME GENDER AGE SCORE1Alice.. 2025. 1. 13.
[CRM] e-commerce 라이브러리 호출import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings.filterwarnings("ignore")import datetime as dtpd.set_option('display.max_columns', None)sns.set_style('whitegrid')palette = 'Set2'import squarifyfrom operator import attrgetterimport matplotlib.colors as mcolorsfrom sklearn.metrics import (silhouette_score, .. 2025. 1. 10.
[기본 탐색] 기본 데이터 확인 코드 import pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsfrom sklearn.preprocessing import StandardScaler# 1. 데이터 로드data = {df}.copy()print("Data Shape:", data.shape)# 2. 데이터 기본 정보 확인print("\n=== Head of the Data ===")print(data.head())print("\n=== Data Info ===")print(data.info())print("\n=== Basic Statistics ===")print(data.describe())# 3. 결측치 탐색 및 처리print("\n=== Missing Values =.. 2025. 1. 8.
[LTV] E-Commerce predicting customer lifetime value 링크https://www.kaggle.com/code/dhimananubhav/e-commerce-predicting-customer-lifetime-value#Creating-RFM-Matrix-based-on-transaction-log E-Commerce predicting customer lifetime valueExplore and run machine learning code with Kaggle Notebooks | Using data from Brazilian E-Commerce Public Dataset by Olistwww.kaggle.com 라이브러리 임포트%matplotlib inlineimport numpy as npimport pandas as pdimport matplotlib.. 2025. 1. 6.
[RFM & K-means] Brazilian E-Commerce Public Dataset by Olist 캐글 링크https://www.kaggle.com/datasets/olistbr/brazilian-ecommerce Brazilian E-Commerce Public Dataset by Olist100,000 Orders with product, customer and reviews infowww.kaggle.com https://www.kaggle.com/code/drindeng/detailed-rfm-analysis-and-k-means-clustering Detailed RFM Analysis and K-Means ClusteringExplore and run machine learning code with Kaggle Notebooks | Using data from Brazilian E-Comm.. 2025. 1. 6.
[네이버 뉴스] '이커머스' 검색 타이틀 크롤링 라이브러리 임포트import requestsfrom bs4 import BeautifulSoupimport pandas as pdimport timeimport schedule 코드import requestsfrom bs4 import BeautifulSoupimport pandas as pdimport timefrom datetime import datetimeimport schedule# 기존 데이터프레임 로드 (없으면 새로 생성)try: df = pd.read_csv('ecommerce_news.csv', encoding='utf-8', index_col=0)except FileNotFoundError: df = pd.DataFrame(columns=['Title', 'Press', 'L.. 2025. 1. 6.
[ETL] ETL(Extract, Transform, Load) 프로세스 스케줄링 모듈 호출https://yoonsll.tistory.com/280 [ETL] Weather, MySQL 클래스를 객체화패키지 불러오기from etl_module.connectors.weather_api import WeatherApiClient # 별도 생성한 클래스. 하단 etl_module 폴더에 코드 작성from etl_module.connectors.mysql import MySqlClient # 별도 생성한 클래스. 하단 etl_moduleyoonsll.tistory.com위 링크 이어서 진행from dotenv import load_dotenvimport osfrom datetime import datetimefrom etl_module.connectors.weather_api import W.. 2025. 1. 3.
[서울시 열린데이터] 서울시 상권분석서비스(소득소비-상권) 인증키 신청(생략) 및 URL 확인라이브러리 호출import requestsimport pprintimport jsonimport pandas as pdfrom dotenv import load_dotenvimport os API 데이터 요청(JSON)# .env 파일 로드load_dotenv()# 환경 변수에서 API 키 가져오기SEOUL_API = os.getenv('SEOUL_API')# API 요청 URL 설정# URL 중 XML -> JSON으로 변경base_url = "http://openapi.seoul.go.kr:8088"endpoint = f"{base_url}/{SEOUL_API}/json/trdarNcmCnsmp/1/1000/20241"try: response = requests.. 2025. 1. 3.
[QCC] Query Challenge Cycle 문제 1 테이블 설명 :movies 테이블은 영화에 대한 정보를 담고 있습니다. 테이블 구조는 다음과 같으며, MOVIE_ID, GENRES, TITLE, POPULARITY, RELEASE_YEAR, REVENUE, VOTE_AVERAGE, VOTE_COUNT은 각각 영화 ID, 영화 장르 리스트, 영화 제목, 인기도, 개봉 연도, 매출, 평균 평점, 평점 수을 나타냅니다.컬럼명 타입 설명MOVIE_IDINT영화 ID (PK)GENRESJSON영화 장르 리스트TITLETEXT영화 제목POPULARITYFLOAT인기도RELEASE_YEARBIGINT개봉 연도REVENUEBIGINT매출VOTE_AVERAGEFLOAT평균 평점VOTE_COUNTINT평점 수분석해야 할 내용은 다음과 같습니다 :2012년 이후.. 2025. 1. 3.
[NAVER API] 쇼핑인사이트 라이브러리 호출import requestsimport jsonimport pprintfrom dotenv import load_dotenvimport osimport pandas as pdimport matplotlib.pyplot as pltload_dotenv()•`requests`: •HTTP 요청을 보내기 위한 Python 라이브러리입니다. •여기서는 `POST` 요청을 통해 네이버 쇼핑인사이트 API에 데이터를 요청합니다.•`json`: •JSON 형식의 데이터를 다루기 위한 라이브러리입니다. •요청 본문(payload)을 JSON으로 변환하거나 응답 데이터를 JSON으로 처리합니다.•`pprint`: •데이터를 사람이 읽기 쉽게 출력하기 위한 라이브러리입니다. •JSON 응답 데이터를 보기 좋.. 2025. 1. 3.
[Selenium] CGV review Crawling 라이브러리 import#pip install selenium# 크롬브라우저 업데이트 될 때마다 driver 재설치를 하지 않기 위해 설치#pip install webdriver-manager from selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.by import Byfrom selenium import webdriverfrom selenium.webdriver.chrome.servic.. 2025. 1. 3.
[ETL] Weather, MySQL 클래스를 객체화 패키지 불러오기from etl_module.connectors.weather_api import WeatherApiClient # 별도 생성한 클래스. 하단 etl_module 폴더에 코드 작성from etl_module.connectors.mysql import MySqlClient # 별도 생성한 클래스. 하단 etl_module 폴더에 코드 작성import pandas as pd import osfrom dotenv import load_dotenvload_dotenv() 기존 환경변수(.env) 변경 시 코드from dotenv import load_dotenvfrom dotenv import dotenv_values# 기존 환경 변수 제거os.environ.pop('API_KEY', None)o.. 2025. 1. 2.
[geocode] GeoJSON의 내용을 출력하는 HTML 파이썬 서버 오픈!python -m http.server 오픈 주소 입력http://localhost:8000/korea_museum.html 2025. 1. 2.
[geocode] 지오코딩으로 위치 정보 추출하기 하나의 위치 정보 추출하기from dotenv import load_dotenvimport osimport requestsload_dotenv()GOOGLE_API_ID = os.getenv('GOOGLE_API_ID')# API 요청 URL 생성base_url = "https://maps.googleapis.com/maps/api/geocode/json"address = "강원도 고성군 현내면 통일전망대로 20"params = { "address": address, "key": GOOGLE_API_ID, "language": "ko" # 응답을 한국어로 설정}# API 호출response = requests.get(base_url, params=params)# 응답 처리if respo.. 2025. 1. 2.
[selenium] 네이버페이 주문 이력 추출하기 import osimport timefrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.common.keys import Keysfrom selenium.webdriver.chrome.service import Servicefrom selenium.webdriver.chrome.options import Optionsfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom dotenv import load_dotenvloa.. 2025. 1. 2.
[Selenuim] 구글 검색하기 selenium 기본 사용 방법# 제목 추출하기>>> driver.find_elements_by_css_selector('.store_product_info_box')# 하나의 DOM 요소는 WebElement 객체에 대응합니다.>>> div = driver.find_elements_by_css_selector('.store_product_info_box')[0]# 속성을 추출할 때는 get_attribute() 메서드를 사용합니다.>>> div.get_attribute('class')# 요소 내부에서 요소를 추가로 탐색할 수도 있습니다.>>> div.find_elements_by_css_selector('h3')# 내부의 글자를 추출할 때는 text 속성을 사용합니다.>>> h3.text  from .. 2025. 1. 2.
[MySQL] 연결 및 테이블 조작 MySQL 테이블 구조 설정 및 테이블 생성engine = create_engine(connection_url)table_name = 'daily_weather'# 테이블에 대한 Metadata 설정 metadata = MetaData()table = Table( table_name, metadata, Column('dt', String(8), nullable=False, primary_key=True), # 'dt'는 문자열이며 기본 키로 설정됨 (고유값) Column('time', String(6), nullable=False, primary_key=True), # 'time'는 문자열이며 기본 키로 설정됨 (고유값) Column('measured_at', DateTime, .. 2025. 1. 1.
[youtube] 유튜브에서 동영상 정보 수집하기 .env 파일에 YOUTUBE_API_KEY 선언Google API Client for Python 사용하기import osfrom dotenv import load_dotenv# !pip3 install google-api-python-clientfrom apiclient.discovery import buildload_dotenv()# 환경변수에서 API 키 추출하기YOUTUBE_API_KEY = os.getenv('YOUTUBE_API_KEY')# YouTube API 클라이언트를 생성합니다.# build() 함수의 첫 번째 매개변수에는 API 이름# 두 번째 매개변수에는 API 버전을 지정합니다.# 키워드 매개변수 developerKey에는 API 키를 지정합니다.# 이 함수는 내부적으로 htt.. 2025. 1. 1.