내일배움캠프_데이터분석_2기 78

[TIL] camp_day26_240522

프로젝트 결론이 대략적으로 나왔는데, 뭔가 조금 아쉽다.계속 파이썬 과제와 프로젝트 때문에 밀려서 코테를 못 풀고 있었는데 SQL 문제 막혔던 두 개를 비롯해서 오랜만에 문제를 많이 풀었다.학습 내용JOIN 시 조건을 범위로 지정할 수 있다.문제 : 리트코드_평균 판매 금액 구하기상품별로, 기간에 따라 가격이 변경될 때 각각의 상품들의 평균 판매 금액을 구해서 출력하는 문제였다.지금까지 JOIN 을 할 때 정확히 일치하는 값만 Key로 설정했는데, 처음으로 범위를 지정해도 된다는 것을 알게된 문제.두 개의 테이블을 조인해야 하는데, (1) product_id 끼리 일치하고, (2) 상품 판매일이 특정 가격의 시작일과 종료일 기간 내에 포함되는 값끼리 조인해야 했다.작성한 쿼리문 SQL # 처음 작성..

[TIL] camp_day25_240521

하루 종일 프로젝트로 정신 없었고, SQL 챌린지반 첫 세션을 들었다. 몰랐던 함수를 알게 돼서 막혔던 코테를 풀 수 있을 것 같다.학습 내용Window Function(SQL)GROUP BY 로 그룹핑한 효과를 내주지만, 모든 행을 출력하고 싶을 때 사용한다!GROUP BY 구문과 병행하여 사용이 불가능하고, 다른 함수와 다르게 중첩 사용이 불가능하다.기본 문법 SQL SELECT WINDOW FUNCTION () OVER (PARTITION BY ORDER BY)함수 종류순위ROW_NUMBER() : 중복 순위를 매기지 않고, 어떻게든 데이터 간에 순위를 매겨주는 함수RANK() : 중복 순위를 매김. 공동 n등이 존재하고, 그 다음 순위는 공동 순위 인원 수만큼 밀린다. 즉, 공동 1등 2명이..

[TIL] camp_day24_240520

벌써 데이터분석 캠프 여섯 번째 주차 시작이다.팀 프로젝트데이터 분석에 필요한 내용들은 배웠지만, "그래서 데이터 분석 과정을 어떻게 설계하는 건데?" 라는 의문이 종일 들었던 하루였다.프로젝트 기획과 목적 설정 단계는 잘 이루어졌는데... 막상 데이터 분석을 하니까 이런저런 문제에 부딪혔다.기술적인 문제 : 파이썬을 아직 자유자재로 다루는 게 아니다보니, 작업의 결과물은 알겠는데 코드를 모르겠는 일이 반복되었다.데이터 분석 절차론적 지식의 부재 : 기초통계량을 통해 '어떤 걸 더 확인하자' 라는 목적의 가설을 설정했으나, 후속으로 어떤 작업을 해야 하는지를 몰라 헤멨다.데이터셋 관련 정보 부족 : 그래도 이건 어느 정도 분석해보면서 파악하고 있다. 내일은 오늘보다 우리의 프로젝트가 보다 발전되길 바라며..

[TIL] camp_day23_240517

시작 단계에서는 뭐부터 시작해야 하는가... 하고 고민했던 하루였다.팀 프로젝트다음 주 금요일에 있을 발표를 위해 주어진 과제 리스트에서 하나를 선정해 프로젝트 기획을 간략하게 제출했다.우리 조가 선택한 데이터는 케글의 Superstore Marketing Campaign Dataset 이다. Kaggle_superstore해보고 싶은 흥미로운 주제가 많았는데, 그 중에서도 우리 팀원들이 가진 최대한의 역량을 끌어낼 수 있는 도메인을 잘 선택한 것 같다.오늘 대략적인 프로젝트 주제, 목표 선정이 끝났고, 다음 주에 검증해 볼 가설들도 적어보았다.적으면서 생각해보니 문제 정의를 안 했나...? 일단 오늘은 끝났으니까 다음 주에 생각해야겠다. :)다만 나중에 시간이 되면 혼자라도 분석해봐야지 싶었다. 케글 ..

[TIL] camp_day22_240516

하루 쉬고 왔다고 리듬이 끊길 줄 알았는데, 생각보다는 집중이 잘 됐다. 어제 소모임 프로젝트 기획서를 쓴 덕일까?!학습 내용아직 해결 못한 문제(Python)오늘 풀어볼 순서의 알고리즘 문제였는데, 처음 생각한 흐름과 달리 계속 제대로 된 결과가 출력되지 않아서 때려친 상태다.이 정도가 카카오 인턴십을 뽑는 수준이라니... 전혀 안 풀려서 좀 시무룩해졌다. 언제쯤 파이썬을 손발처럼 쉽게 다룰 수 있을까?문제 : 프로그래머스_숫자 문자열과 영단어해결 흐름 : 숫자와 영단어 문자로 구성된 문자열 s를 리스트로 변환한 뒤,이 리스트의 i에 대해 숫자인지 문자열인지 반복문을 통해 확인하고 숫자일 때만 빈 리스트에 추가하고영단어 숫자를 인덱스와 일치하도록 리스트를 하나 만들어 변수 i의 위치를 기준으로 +3 ..

[TIL] camp_day21_240514

5주차 둘째 날! 내일은 부처님이 오셔서 쉰다~~학습 내용내 코드를 짧게 수정해보자!(Python)오늘 풀었던 알고리즘 코딩테스트 코드인데, 너무 길게 쓴 거 같아서 마음에 들지 않았다.다른 사람들의 풀이를 보면서 조금 수정해보았다. 더 줄일 수 있을 것 같은데 아직은 방법이 생각나지 않는다.문제 : 프로그래머스_최소직사각형 Python # 내 코드 def solution(sizes): list_w = [] list_d = [] for [w, d] in sizes: if w >= d: list_w.append(w) list_d.append(d) elif d > w: list_w.append(d) ..

[TIL] camp_day20_240513

벌써 5주차 시작이다.이번 주에는 파이썬을 통한 데이터 전처리 및 시각화 방법에 대해 수강하고, 금요일부터는 팀 프로젝트를 시작한다.학습 내용어떻게 하면 하루를 알차게 보낼 수 있을까?(feat. Python)요즘 수강해야 하는 강의 진도가 계속 뒤쳐지고 있어서 이런 저런 고민이 든다.더 기나긴 하소연과 해결하려 시작한 방법 : 하루 목표와 학습 계획 관리를 어떻게 하면 좋을까?계획 달성률 계산을 대충 계산기로 해도 되지만, 이왕 Python과 pandas 라이브러리를 배우고 있는 겸, Python에서 계산하는 코드로 구현해보았다. 코드 개선이 필요하다. 그래도 f-string을 잘 활용했다. Python import pandas as pd morning = pd.Series([1,1,1,0,..

하루 목표와 학습 계획 관리를 어떻게 하면 좋을까?

달성률 계산 코드 짜기 요즘 너어어어무 강의 진도를 못 따라간다.자격증(ADsP) 공부 때문에 집중을 제대로 못해서라기엔 기본적인 학습 집중도도, 능률도 떨어진 게 체감된다.그래서 이번에 시작해 볼 방법은, 일일 계획 별 달성률 체크하기.일단 SQL 코딩테스트를 풀면서, 1과 0으로만 표현된 컬럼이 있다면 이 컬럼의 평균을 구하는 것으로 비율 계산을 할 수 있다는 것을 알게 되었다.예를 들어, 아래와 같은 테이블이 주어질 경우, 여자는 1, 남자는 0으로 표시하였다고 가정하자.U_IDSEXA0011A0021A0030A0041A0050A0061전체 인원 중 여성의 비율을 계산한다고 하면,여성의 수(= 4명) / 전체 인원(= 6명) 이므로 약 66.6% 의 비율을 구할 수 있다.  이걸 SEX 컬럼에 대한..

[WIL] 2024_w19_주간 회고

이번 주의 목표와 달성ADsP 공부 틈틈이 하기 → 너무 놀아서 많이 못 했지만… 하긴 했다,매일 알고리즘, SQL 각 1문제 이상씩 풀기 → 성공 : 각 8문제, 15문제 풀었다.사전&본캠프 기간 학습 내용 학습 DB에 완성된 형태로 정리하기 → 실패 : 그냥 천천히 해야지이번 주의 학습 키워드SQL : 조건 없이 두 테이블 조인하는 법, 비트 연산자Python : .join, abs(), try: & except: 문, .isdigit(), datetime().weekday()Decimal(소수) 이번 주 한 눈에 보기이번주의 KPT_개인Keep- 코딩테스트 꾸준히 풀이한 것 & 문제 풀이에 그치지 않고 코드 및 쿼리 리뷰 하면서 개선점 찾는 것Problem- 하루 더 쉬고 와서 공부하려는 마음이 잘..

[TIL] camp_day19_240510

4주차 마지막 날. 오늘은 ADsP 공부로 하루가 다 가버렸다. 주말에 못한 공부를 해야한다...학습 내용비트 연산자!(SQL)프로그래머스_특정 형질을 가지는 대장균 찾기드디어 해결했다! 비트연산자란) 컴퓨터에서 비트 단위로 연산을 수행하는 연산자, 논리연산자와 비슷하다.& : 두 비트가 모두 1일 때 결과가 1(True)| : 두 비트 중 하나라도 1일 때 결과가 1(True)~ : 비트 반전^ : 두 비트가 다르면 결과가 1(True)코테에서 주어진 테이블 중 genotype(유전형) 을 이진법으로 나타낸 수를 기준으로 특정 형질을 가지고 있는지 여부를 표시한다.십진법은 10을 기준으로 단위가 바뀌고, 이진법은 2를 기준으로 단위가 바뀐다. 오른쪽에서 첫 번째 자리는 2의 0승 = 1 이고, 두 번째..