전체 글 73

[Data Literacy_02] 문제 정의

우리는 문제를 제대로 정의하지 않고 작업으로 뛰어들곤 한다.  문제 정의란? - 데이터 분석 프로젝트의 성공을 위한 초석- 분석하려는 특정 상황이나 현상에 대한 명확하고 구체적인 진술- 프로젝트의 목표를 설정하고 분석 방향을 결정  문제 정의 사례 상황: 패션 플랫폼 A, 매출 증가가 목표 잘못된 문제 정의: "매출을 어떻게 늘릴 수 있을까?" - 모호하고 구체적이지 않음- 어떤 고객층, 제품에 초점을 맞출지 명확한 지침이 없음그러므로 방향성을 잡기가 어려움 올바른 문제 정의: "지난 6개월 동안 25-35세 여성 고객층의 구매 전환률이 급격히 감소했다.이 고객층의 전환률을 현재의 2%에서 5%로 끌어올리기 위해 어떤 마케팅 전략을적용할 수 있을까?" 구체적인 고객층과 목표치에 대한 지침이 있음.  문제..

Datalogy 2024.07.03

[Data Literacy_01] 데이터의 오류, 활용, 접근법

데이터들이 가질 수 있는 오류들의 예시 1. Simpson's Paradox 심슨의 역설"부분"에서 성립한 대소 관계가 여러 "부분"들을 종합한 "전체"에서는 성립하지 않는 모순. 전체에 대한 결론이, 언제나 개별 집단에 적용되는 것은 아니다.그러므로 데이터를 기반한 결론이라도 맹목적으로 이를 받아들여서는 안된다. 예시) 확진자 수확진 후 28일 이내 사망자 수치명률연령백신 미접종백신 접종백신 미접종백신 접종백신 미접종백신 접종전체151,05447,0082534020.17%0.86%147,61225,53648130.03%0.05%>=503,44021,4722053895.96%1.81% 전체만 보면 백신 접종자의 치명률이 오히려 높음하지만 연령을 "부분"들로 나누어 봤을 때 그 양상이 많이 다름을 알 수 ..

Datalogy 2024.07.03

[TIL 240703] 돌아온 List()Map()Lambda(), Sorted() & Sort(), 알파벳 리스트 구하기

1. 알파벳 리스트 구하기# 알파벳 리스트 (소문자)[i for i in string.ascii_lowercase]# ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']# 알파벳 리스트 (대문자)[i for i in string.ascii_uppercase]# ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']# 알파벳 전체 리스트[i for i..

오늘 나는 (TIL) 2024.07.03

[TIL 240702] Why SQL over Excel?

오늘은 아티클 스터디를 위해비개발자를 위한 엑셀로 이해하는 SQL: ① 엑셀로 온라인 서비스의 RDB 이해하기 | 요즘IT (wishket.com) 를 읽었다 학습 내용은 아래와 같다. 1.     정말로 데이터 분석이란 것은 우리가 경험하지 못한 신개념 기술일까?2.     엑셀을 우리는 오랜 기간 사용해 왔고, 이는 데이터 기록과 관리의 기능을 가진다.3.     둘의 비슷한 점들은?공통점 엑셀DB1파일 >> 시트 >> 테이블 >> 행과 열로 이루어져 있음 데이터 베이스 >> 테이블 >> 행과 열로 이루어져 있음 2 데이터의 기록, 저장, 관리, 조회, 추출이 가능하다  4.     그렇다면 둘의 다른 점들은? 차이점 엑셀DB1마우스와 단축키 사용직관적 명령어 사용복잡하고 추상적 2사용자가 모든 권한..

오늘 나는 (TIL) 2024.07.02

[TIL 240701] datediff, window function, cominations & permutations

오늘 학습한 내용은 아래와 같다. 1. datediffselect datediff( '**' ,end_date, start_date) end_date와 start_date 사이의 시간 차이를 구해준다.기본값은 일 수 ** 안에는 아래와 같은 인자들이 들어갈 수 있다.2. window function (continued) 열의 연산이 아닌 행의 연산을 수행해주는 윈도우 함수. 윈도우 함수의 장점은 쿼리를 간단히 작성할 수 있다는 점이다. 그러나 행과 행의 연산을 수행하다 보니, 기본적으로 정렬 (Sort)의 과정이 들어간다. 이 뜻은 SQL의 연산 능력 저하를 뜻하기도 하며, 테이블 스캔 횟수가 여타 집계 함수보다 적다는 이유로 무조건 윈도우 함수를 쓰는 것은 옳지 못하다. 기본적으로 스캔해야 할 행의 수..

오늘 나는 (TIL) 2024.07.01

[TIL 240628] Pivot Table, Window Function

오늘의 학습 내용은 다음과 같다. 1. 피벗 테이블 Pivot Table 피벗 테이블은 데이터 회전을 뜻한다.즉 데이터를 행에서 열로 변환하는 프로세스를 말하며,보고서에 적합한 정보를 제공하는 요약 테이블이라 할 수 있다.  위와 같은 프로세스를 거쳐 진행하게 된다.1. 행을 group by로 combine 한다.2. case, if, where 등으로 filter를 해준다.   2. 윈도우 함수 Window Function SQL은 집계함수를 통해열 (Column) 간의 연산은 수행할 수 있지만,행 (Row) 간의 연산은 처리하기 어렵다.이 때 사용하는 것이 윈도우 함수다. 윈도우 함수 구조SELECT WINDOW_FUNCTION (ARGUMENTS) OVER( [PARTITION BY 컬럼] ..

오늘 나는 (TIL) 2024.06.28

[TIL 240627] union, update, insert, delete, multiple_join

오늘은 SQL 라이브세션 마지막차 아래와 같은 것들을 학습했다. 1. union예시)table a union table bselect aa from bbunion select cc from dd 두 테이블의 컬럼 순서가 같고, 형식이 같아야함 union, union all의 결과는 두 테이블의 수직 결합이고 union - 중복을 제거 union all - 중복을 제거 안하고 모두 표기해준다 2. update예시)update ~ set ~ whereupdate table set null where column = ""update table set case when ~ then ~ end  3. insert예시)# 원하는 컬럼에만insert into table (col_1,col_2) values(a,b)#..

오늘 나는 (TIL) 2024.06.27

[TIL 240626] Where 절과 Having 절, Inline View, Scalar Subquery

셋 째 날, 어느정도 적응이 되어가고 있다. 오늘 학습한 내용은 아래와 같다. 1.  date_format() 말고!예시)--년Year(date)--월Month(date) --일Day(date) 활용--현재 날짜Getdate()Now()Sysdate()--현재 년 Year(now())--현재 월Month(now()) --현재 일Day(now()) 2. round, truncate, ceiling, floor예시)n = 123.45round(n, 1) -- 123.5truncate(n, -1) -- 120 ceiling(n) -- 124 floor(n) -- 123 3. Where 절과  Having 절 Where 절Having 절1그룹이 집계되기 전에 행을 필터링 함집계 프로세스 후..

오늘 나는 (TIL) 2024.06.26

[TIL 240625] Map 과 Lambda, 그리고 수의 진수 바꾸기

어제 SQL을 했으니, 오늘은 파이썬을 해보기로 했다. 학습한 내용은 아래와 같다 1. 한 줄로 쓰기예시)def solution(s): return s.isdigit() and len(s) in (4,6) is.digit 이면서 length가 4 혹은 6인 것을 모두 True 하는 것이런 식으로 많은 것들을 한 줄로 쓸 수 있다. 2. map과 lambda > 한 줄 쓰기 콤비예시)def solution(s): s = s.split(" ") new2 = [] for char in s: new = "" for i in range(len(char)): if i%2: new+=char[i].lower() ..

오늘 나는 (TIL) 2024.06.25

[TIL 240624] Where 문과 Subquery, With 문

오늘은 첫 개강 날. 첫 OT를 듣고, 팀원 분들과 통성명을 하고 이런저런 아이스 브레이킹 타임을 가진 후에 SQL 문제 풀이에 돌입했다!그러면서 학습 한 것들은 아래와 같다.1. 정규 표현식 - Regular Expression (regexp) 예시)where column_name regexp “A|B|C”where column_name in ("A","B","C") 파이썬과 마찬가지로 정규 표현식을 활용할 수 있었다. 위의 표현식은 "A or B or C 가 있다면" 이 된다. 2. Round 와 Truncate 함수예시)select round(column_name, 2) from tableselect truncate(column_name, -4) from table round 는 올림, trunca..

오늘 나는 (TIL) 2024.06.24