본문 바로가기

분류 전체보기

(50)
[기초 프로젝트 | Day 1] 프로젝트 온보딩 - 스포티파이 팟캐스트 서비스가 프리미엄 구독 플랜에 미치는 영향 기초 프로젝트가 시작됐다.  1. 주제 선정1-1) 음악 플랫폼 유저 행동 데이터 분석 선택 다양한 주제가 있었지만 우리 조는 유저 행동 데이터를 분석할 수 있는 음악 플랫폼 '스포티파이' 주제로 결정했다.    1-2) 분석 방향성 잡기주제를 정하기 전 각자 데이터를 핸들링 하면서 가볍게 분석해보는 시간을 가졌다.  나는 데이터 분석에 들어가기 전에 아주 가볍게 스포티파이라는 플랫폼에 대한 자료 조사를 진행했다.  ▶️ 스포티파이 자료 조사글로벌 점유율 약 30% 차지 (2위 애플뮤직과 2배 차이)많은 이용자수에 비해 영업 적자 큼서비스 형태 국가마다 다름 -> 무료 요금제가 글로벌 1위에 큰 기여취향에 맞는 플레이리스트 추천 기능(기업 등과 연계해 플레이리스트 공유)참고 자료: https://www...
🌱 하니까 되긴 되네 - Pandas와 Matplotlib ▶️ 총평- Pandas와 Matplotlib에 집중- 기초 프로젝트 시작- 효율적인 공부 관리 방법 고민 필요 🤓 배운 것- Pandas, Matplotlib 활용해 필요한 데이터를 조회하고 시각화 하는 기본 문법 학습- Pandas 기본 문법 눈에 익히기 ✅ GOOD- SQL 세션 복습👍- Pandas 문법 익숙해지기 ❎ BAD- 알고리즘, SQL 코드 카타 소홀했음- Pandas 문법을 더 능숙하게 다룰 수 있도록 추가 학습 필요(데이터 전처리&시각화 세션 복습 활용하기)- 컨디션 관리 부족 (규칙적인 수면 패턴 만들기)  ❗️부족한 점은 주말을 활용하자1️⃣Pandas 세션 복습 2️⃣ SQL 총 복습⭐️⭐️⭐️- SQL 보충 세션 자료 복습하기- SQL 코드 카타 최소 5문제 복습하기 3️⃣..
파이썬 시각화 라이브러리 1. matplotlib, seaborn 활용해서 산점도, 히스토그램, 박스플롯 그리기: seaborn이 훨씬 간단함: matplotlib 그래프 그리는 원리 잘 모르겠음 2. 조건 필터링할 때 np.where 쓰는 방법# np.where(조건, 조건이 True일 떄, 조건이 False일 떄)np.where(iris['Sepal Length'] >= 5.0, 'Large', 'Small') 3.서브 플롯 공부# 2x2 서브플롯 생성fig, axs = plt.subplots(2, 2)# 축(axs)은 2x2 배열의 형태로 반환됩니다.# axs[0, 0]는 첫 번째 행의 첫 번째 열에 대한 축을 나타냅니다.# 각 축(axs)에 플롯을 그릴 수 있습니다.axs[0, 0].plot([1, 2, 3, 4], [1..
판다스 결측값 제거하기 결측값 처리에는 (현재까지 공부한 바로는) 두 가지가 있다.  1. dropna() - 결측값 지우는 메서드df.dropna() ✔️특징① 디폴트: 결측값이 1개라도 있는 있는 '행' 제거- dropna(how="any"): 결측값이 1개라도 포함되어 있는 행 제거- dropna(how="all"): 행의 모든 값이 결측값인 경우만 행 제거- dropna(axis=1): 결측값이 1개라도 포함되어 있는 열 제거- dropna(how="all", axis=1): 열의 모든 값이 결측값인 경우 열 제거 ② 데이터 프레임 자체를 결측값 제거한 데이터 프레임으로 바꿔주고 싶을 땐 'inplace=True'- df.dropna(inplace=True) 2. drop() - 특정 행/열을 지우는 메서드#특정 행 지..
총량 + 특정 조건 동시에 집계하기 (SUM(CASE WHEN ...)) 96번 - Monthly Transaction (총량 + 특정 조건 집계하기)Table: TransactionsWrite an SQL query to find for each month and country, the number of transactions and their total amount, the number of approved transactions and their total amount.The query result format is in the following example.Input:Transactions table:+------+---------+----------+--------+------------+| id | country | state | amount | tran..
JOIN | ON절과 WHERE절의 차이점 ❗️JOIN - ON절과 WHERE절의 차이점 ON: join 전에 조건을 필터링WHERE : join 후에 조건을 필터링 on 절에 조건을 추가했을 때select *from THEGLORY t left join THEGLORY2 t2 on t.이름=t2.이름 and t.직업 in ('아나운서', '선생님') **조건은 조인을 하는 테이블, 즉 left join 기준 오른쪽 테이블에만 적용됨! where 절에 조건을 추가했을 때select *from THEGLORY t left join THEGLORY2 t2 on t.이름=t2.이름 where 직업 in ('아나운서', '선생님') 참고 문제https://leetcode.com/problems/average-selling-price/ #ON절 (정답)s..
🌱 이번 주는 파이썬을 잘하고 싶었다! ▶️ 총평- 파이썬에 집중했던 한 주- 눈에 띄는 성장이 보이지 않았던 한 주- 데이터 전처리 및 시각화에 들어가며 판다스 라이브러리 학습 시작한 한 주 🤓 배운 것- 파이썬 반복문 이해도 ↑- VS CODE 환경 세팅 및 적응하기- Pandas 기본 문법 눈에 익히기 ✅ GOOD- 9 to 9 학습시간 외 자발적인 추가 학습 진행👍- 파이썬 기본 문법 복습 + 알고리즘 코드 카타 풀기(데일리루틴 기준 Lv.3 달성)👍- Pandas 문법 학습 시작 ❎ BAD- 가시적인 성장&학습량 부족 : 시간 투자 대비 아웃풋 부족- 비효율적인 Pandas 학습 방법 : 주어진 강의 퀄리티가 너무 떨어짐 - SQL 복습 못함  ❗️부족한 점은 주말을 활용하자1️⃣Pandas 무료 강의 듣기 (1시간 30분)ht..
데이터 시각화 ✅ 데이터 시각화의 중요성: 데이터의 어떤 부분을 강조해서 시각화하느냐에 따라 의사결정의 방향성 자체가 완전히 달라질 수 있다.  1️⃣ 바다거북의 코에 빨대가 낀 사진이 바이럴됨 2️⃣ 빨대 줄이기 캠페인이 전세계적으로 활성화 3️⃣ 바다 쓰레기 중 빨대가 차지하는 비율은 0.03%, 어망이 46% 4️⃣ 시각화를 통해 어망의 비율을 강조, 종이빨대 만드는 예산을 어업활동에서 쓰레기가 발생하지 않도록 개선시키는 것에 활용 제안 ⇒ 어디에 집중하고 어떤 전략을 수립해야할지 방향을 제시하는 역할을 시각화를 활용하면 더욱 효과적으로 수행 가능. → 전체 바다 쓰레기의 0.03%와 46%의 비중과 투입되는 예산 대비 얻게될 기대효과에 대해 시각화된 자료와 함께 분석결과를 전달할 수 있다면, 분석이 더 큰 설득..
데이터 분석가 타입 ❓ 데이터 분석가 타입Business Analyst: ‘비즈니스 관점’에서 업무 프로세스 개선 / 비즈니스 모델 분석 / 요구사항 관리 등을 담당하며 매출, 비용, 가격, 대외적인 이슈 등에 관한 분석을 진행Product Analyst: ‘유저, 제품 관점’에서 제품 경험과 사용자 행동을 분석하고 A/B 테스트, 사용자 경로 분석 등을 진행하며 유입/전환, 결제율, 이탈 등을 관리BI Analyst: 기업의 비즈니스 인텔리전스 플랫폼과 도구를 사용하여 기업 내부 데이터를 시각화하고 의사 결정에 필요한 정보를 제공.✅ 데이터 = “설득”을 위한 도구⇒ 어떤 목적을 가지고 데이터를 분석할 것인가를 정의하는게 중요!! ✅ 고민할 문제“나는 왜 데이터 분석가가 되고 싶은가?”“어떤 데이터 분석가가 되고 싶은가?..
변수 선언 위치 문제 설명두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 제한사항1 ≤ left ≤ right ≤ 1,000입출력 예leftrightresult131743242752 ▶️ 내 코드 (정답)def solution(left = 13, right = 17): answer = 0 for x in range(left, right+1): cnt = 0 for n in range(1, x+1): if x%n == 0: cnt += 1 ..