분류 전체보기 230

2024-04-15

Today 1. 미니 프로젝트 팀 인사 및 주제 선정 2. CSV 파일 전처리 Today I Learned DBeaver 에 CSV 파일 불러오기 > 제공 받은 CSV 파일이 형변화가 불가능했기 때문에 mysql 서버를 생성하여 작업해주었다! 정한 주제를 바탕으로 어떻게 데이터를 분석해줄지 상의 후 몇가지의 주제를 뽑아보았다. 요일별 주문건수 or 소비액 segment 별 주문이 많은 상품 category 별 수익률과 수익률 top-5 sub-category 주(states)별 주문자의 수, 총 구매액, 수익률 월별 매출, 판매량, 이익 데이터 분석 후 주제 선정 예정) 원본파일에서 잘못 입력된 데이터들을 데이터 전처리 과정에 넣어줄지? 원본파일에서 컬럼과 맞지 않는 데이터들이 입력된 부분들이 몇몇개가 ..

TIL 2024.04.15

4주차 [2024-04-08 ~ 12]

FACTS 이번주차를 마지막으로 사전캠프가 마무리 된다. 이번주에는 SQL 과 파이썬 코드카타풀이, ADsP 강의를 수강하였고 마지막으로 지금까지 공부한 내용들을 복습하는 시간을 가졌다. ADsP 자격증시험을 신청했었다가 본캠프에 집중하자는 생각이 들어 취소했고, 본캠프가 마무리 되는데로 자격증 시험을 치룰 예정이다. SQL 문법 중 어려워 했던 서브쿼리에 조금은 가까워질 수 있도록 이해가지 않던 부분이 없도록 꼼꼼히 학습했다. 파이썬 알고리즘은 배웠던 함수들과 풀이방식들이 손에 익도록 복습했다. FEELINGS 새로운 코드카타를 하다보니 다시 또 파이썬과 SQL 이 재밌어졌다! 아무래도 복습을 하면서 지루하기도 하고, 잘 풀리지 않으면 조금더 스트레스를 받았는데 새로운것을 배우니 다시 재미를 찾은 듯한..

WIL 2024.04.12

2024-04-12

Today 1. SQL 코드카타 복습 2. 알고리즘 코드카타 복습 Today I Learned SQL SELECT 절에서 서브쿼리_IF 문 SELECT car_id , IF (car_id IN ( SELECT car_id FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE start_date = '2022-10-16' ), "대여중" , "대여 가능") VAILABILITY # +1 을 더했더니 오류 FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY 1 ORDER BY 1 DESC 당일 대여 당일 반납에 꽂혀서 아묻따 날짜 옆에 +1 했더니 오류가 떴다.. IF (car_id IN ( SELECT car_id FROM CAR_RENTAL_C..

TIL 2024.04.12

2024-04-11

Today 1. ADsP 강의 (정형 데이터 마이닝) 2. 파이썬 코드카타 3. SQL 코드카타 Today I Learned SQL 입양 시각 구하기 https://lyj-01.tistory.com/90 입양 시각 구하기(2) #WITH RECURSIVE , SET함수 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 lyj-01.tistory.com 단순히 시간별 카운트를 해주면 되는줄 알고 이렇게 작성했는데.. SELECT HOUR(datetime) HOUR, COUNT(*) COUNT FROM ANIMAL_OUTS GROUP BY 1 ORDER BY 1 문제에서..

TIL 2024.04.11

입양 시각 구하기(2) #WITH RECURSIVE , SET함수

보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. WITH RECURSIVE 구문 사용 WITH RECURSIVE TIME AS( SELECT 0 AS h UNION ALL SELECT h+1 FROM TIME WHERE h < 23) SELECT h, COUNT(HOUR(DATETIME)) AS 'COUNT' FROM TIME LEFT OUTER JOIN ANIMAL_OUTS ON h=HOUR(DATETIME) GROUP BY h ORDER BY h; ① WITH RECURSIVE TIME AS( # 가상 테이블명 TIME 생성 ② SELE..

SQL 코드카타 2024.04.11

내적 # zip()

길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) def solution(a, b): answer = [x*y for x,y in zip(a,b)] result = sum(answer) return result ① answer = [x*y for x,y in zip(a,b)] # zip() 함수를 사용하여 a와 b 리스트를 엮어준다 # 엮은 리스트에서 x 와 y로 임의의 값을 주고 x*y 를 계산해준다 # 계산한 값은 리스트 인수로 반환 ② result = sum(answer)..

정형 데이터 마이닝

데이터 마이닝 : 통계학자와 데이터베이스 학자들이 사용하는 용어 : 거대한 양의 데이터 속에서 유용한 정보를 찾아내는 과정 : 숨겨진 규칙,패턴 등을 찾아내어 의사결정에 활용하는 것이 목적 통계분석과 데이터 마이닝의 차이 : 통계분석 > 가설,가정에 따른 분석 및 검증 : 데이터마이닝 > 가설,검정을 하지 않고 다양한 수리 알고리즘을 이용해 데이터로부터 의미있는 정보를 찾아내는 방법 대표적인 데이터 마이닝 사례 ① 마케팅 및 고객 서비스 : 고객 행동을 분석하고 예측하여 개별 고객에게 맞춤형 마케팅 전략을 구축,상품추천,이탈예측등 ② 금융분야 : 부정 거래 탐지, 고객 신용 위험 평가 ③ 의료 분야 : 질병 진단, 환자 특성 분석 ④ 생산 및 공급망 관리 : 생산 프로세스를 최적화하고 불량률을 줄임 ⑤ ..

ADsP 내용 정리 2024.04.11

2024-04-09

Today 1. ADsP 강의 2. SQL 코드카타 3. 파이썬 코드카타 Today I Learned SQL 리뷰를 가장 많이 작성한 회원의 리뷰를 조회 SELECT member_name, review_text, review_date FROM MEMBER_PROFILE p JOIN rest_review r ON p.member_id=r.member_id WHERE p.member_id = ( SELECT member_id, COUNT(review_id) FROM rest_review GROUP BY member_id ORDER BY 2 DESC LIMIT 1 ) 수월하게 where 절 서브쿼리 작성을 했다고 생각을 했는데 Operand should contain 1 column(s) 예~ 또다시 오류가 ..

TIL 2024.04.09

가운데 글자 가져오기 # 슬라이싱

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. s는 길이가 1 이상, 100이하인 스트링입니다. def solution(s): answer = '' if len(s) % 2 == 0: answer = s[len(s) // 2 - 1 : len(s) //2 + 1] else: answer = s[len(s) // 2] return answer ① if len(s) % 2 == 0: # s 의 길이가 짝수일때 ② answer = s[len(s) // 2 - 1 : len(s) //2 + 1] # 인덱스를 출력하기 위해 len(s)//2 이렇게 나눈 몫으로 인덱스의 값을 반환 중간 값을 구해주기 때문에 2로 나누어준다!! 5..

제일 작은 수 제거하기 # del , remove(), min()

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. def solution(arr): if len(arr)==1: del arr[0] arr.append(-1) elif len(arr)>=2: arr.remove(min(arr)) return arr ① if len(arr)==1: # arr의 길이가 1일 경우 (숫자가 1개만 있을 경우에는 -1 을 반환..