python 12

[데이터분석] 데이터분석을 할 때, 파이썬과 SQL을 각각 언제 사용해야 하는지?

처음 데이터 분석을 시작하면, 아니 앞으로도 계속 SQL과 파이썬을 주로 다루게 된다.두 언어 모두 대용량 데이터를 기반으로 분석할 수 있는데, 그렇다면 언제 SQL을 사용하고 언제 파이썬을 사용해야 할까?면접에서 이 질문을 받은 적이 있었는데 제대로 답변하지 못했다. 당시에는 두 언어로 할 수 있는 일을 각각 설명했지만, 실제 분석 과정에서 어떤 기준으로 선택하는지는 명확하게 말하지 못했다. 그래서 이번에 SQL과 파이썬을 사용하는 기준을 정리해봤다.SQL은 언제 사용할까?SQL은 데이터베이스에 저장된 데이터를 조회하고, 분석에 필요한 형태로 만드는 데 사용한다.특히 다음과 같은 작업에 적합하다.필요한 행과 컬럼 조회여러 테이블 결합조건에 맞는 데이터 필터링그룹별 집계중복 데이터 제거기간별·사용자별 지..

데이터분석 2026.07.18

[Python] 게임회사 데이터분석가 코딩테스트 연습 자료 만들기

게임회사 데이터분석가 코딩테스트를 준비하면서 직접 풀어볼 수 있는 CSV 데이터와 Jupyter Notebook을 만들어봤다.실제로 응시했던 코딩테스트는 Google Colab 환경에서 진행됐다. 이번 자료도 시험과 비슷한 환경에서 연습할 수 있도록 Colab 사용을 기준으로 구성했다.문제는 실제 코딩테스트에서 경험한 유형과 데이터 분석 부트캠프에서 배운 내용을 바탕으로 만들었다. ChatGPT를 활용해 문제와 데이터를 구성했고, pandas 기초 문법부터 데이터 정제, 통계 해석, 시각화까지 한 번에 연습할 수 있도록 범위를 잡았다.제작하게 된 이유실제로 데이터분석가 코딩테스트를 치러보니 생각보다 기초 문법의 비중이 높았다.데이터를 불러오거나 조건에 맞는 행을 찾는 문제뿐만 아니라 평균, 중앙값, 분산..

dictionary함수

# 1. 단어장 만들기vocab = { 'sanitizer': '살균제', 'ambition': '야망', 'conscience': '양심', 'civilization': '문명' }print(vocab)# 2. 새로운 단어들 추가vocab['privilege'] = '특권'vocab['principle'] = '원칙'print(vocab) 꼭 정수형이 아니더라도 가능하다! 하지만, 작은 따옴표 사이에 파라미터값을 넣을 것! 정수형은 그냥 적어도 됨 리스트와 다른 점은 리스트는 인덱스값이 정해진 반면 key-value쌍으로 key값을 정해서 넣을 수 있다. print('밸류값' in 사전명.values()) -> bool값으로 있는 지 없는 지 확인 가능 for key in 사..

#8. 피타고라스 삼조

조건) '피타고라스 정리'라고 들어 보셨나요? 직각삼각형에서, 빗변의 제곱이 두 직각변의 제곱의 합과 같다는 정리입니다.거기서 나온 '피타고라스 삼조'라는 개념이 있는데요. 피타고라스 삼조란, 피타고라스 정리(a2+b2=c2a2+b2=c2)를 만족하는 세 자연수 쌍 (a,b,c)(a,b,c)입니다. 예를 들어, 32+42=5232+42=52이기 때문에 (3,4,5)(3,4,5)는 피타고라스 삼조입니다.aa라고 가정할 때, a+b+c=400a+b+c=400을 만족하는 피타고라스 삼조 (a,b,c)(a,b,c)는 단 하나인데요. 이 경우, a∗b∗c는 얼마인가요? 문제 출처: Project Euler Problem 9 과정) 진짜 어렵다일단, 자연수를 조건으로 넣어야 할 것 같다고 생각했는데,, , 패스하고..

#6. 리스트 함수 활용

조건) numbers라는 빈 리스트를 만들고 리스트를 출력한다.append를 이용해서 numbers에 1, 7, 3, 6, 5, 2, 13, 14를 순서대로 추가한다. 그 후 리스트를 출력한다.numbers 리스트의 원소들 중 홀수는 모두 제거한다. 그 후 다시 리스트를 출력한다.numbers 리스트의 인덱스 0 자리에 20이라는 수를 삽입한 후 출력한다.numbers 리스트를 정렬한 후 출력한다.피드백) 1. append 함수는 numbers.append(1) 이렇게 []사용 안하고 직접 인덱스 수치 입력 i = 0while i 2. 위와 같이 작성한 코드는 두 가지 요소가 틀렸다. 2-1. if문 다음에 수행문은 들여쓰기 해야함. 2-2. del문은 .을 찍지 않는다.. # 빈 리스트 ..

#5. 환전 서비스

조건) 제가 구매하고 싶은 물건들의 가격을 리스트에 정리해 놨습니다.prices = [34000, 13000, 5000, 21000, 1000, 2000, 8000, 3000]가격의 단위는 모두 원화(₩)인데요. 이 물건들의 가격을 미국 달러($)로 하면 얼마일지, 그리고 일본 엔화(¥)로 하면 얼마일지 확인해 보려고 합니다. 과정) while문 사용하면서 list 인덱스 값 반복시키는 형태를 중간에 넣어주고, 조건에 맞게 환율 식을 함수로 def하기..! # 원화(₩)에서 달러($)로 변환하는 함수def krw_to_usd(krw): return prices / 1000# 달러($)에서 엔화(¥)로 변환하는 함수def usd_to_jpy(usd): return prices * (1000 / ..

#4. 온도 단위 바꾸기

조건) 화씨 온도(°F)를 섭씨 온도(°C)로 바꾸어주는 프로그램을 만들려고 합니다.섭씨와 화씨의 관계식은 다음과 같습니다:°C=(°F−32)∗59°C=9(°F−32)∗5​화씨 온도를 섭씨 온도로 변환해 주는 함수 fahrenheit_to_celsius를 써 보세요. 이 함수는 파라미터로 화씨 온도 fahrenheit를 받고, 변환된 섭씨 온도를 리턴합니다. 과정)진짜 모르겠음;# 화씨 온도에서 섭씨 온도로 바꿔 주는 함수def fahrenheit_to_celsius(fahrenheit): c = temperature_list[] c = (temperature_list[] - 32) * 5 / 9temperature_list = [40, 15, 32, 64, -4, 11]print("화씨 온도..

파이썬 list 함수 요약

[빈 리스트 만들기]list = [] [목록을 채운 리스트 만들기]list = [1, 2, 3, 4] 인덱스는 0부터. print(list[0]) -> 1이 출력됨 print(list[0:3]) -> 1,2,3까지만 출력됨. 마지막 인덱스는 출력 X print(list[:2]) -> 1,2 new_list = list[:3]print(new_list[1]) -> 2 리스트 함수list.append(5) -> 리스트 맨 끝에 5를 추가하는 함수del list[1] -> 인덱스 1번 삭제list.insert(1,0) ->. 1번인덱스에 0 추가 -> del은 .을 찍지 않고, insert는 .이 필요한데, 객체 내부 메서드와 파이썬 자체 문법의 차이 [기존 차트를 정렬 sort] list.sort()l..

#3. 2의배수 3의배수 합산 / 아니 진짜 왜캐 멍청하지 나는

조건)10보다 작은 2 또는 3의 배수는 2, 3, 4, 6, 8, 9이며, 이들의 합은 32입니다.while문과 if문을 활용하여, 1,000보다 작은 자연수 중 2 또는 3의 배수의 합을 출력하는 코드를 작성해 보세요. 과정)while 문에서 조건을 1000이하로 걸고, if문에서 2의 배수 3의 배수별 변수값을 뽑아내는 것까진 알겠는데 합을 어떻게? i = 2while i if i % 2 == 0 or i % 3 == 0: print(i) i += 1결과 : File "main.py", line 5 print(i) ^IndentationError: expected an indented block 1. print(i)는 들여쓰기 또 해야함2. i += 1 은 whil..

#2. 8배수이지만, 12배수가 아닌 정수

조건) while문과 if문을 활용하여, 100 이하의 자연수 중 8의 배수이지만 12의 배수는 아닌 것을 모두 출력하세요. 과정)100이하 자연수를 먼저 while문에 조건문으로 입력 후, if문에서 8배수 한번 12배수 아닌 것 한번 걸러서 출력하면 되지 않을까?i = 1 while i i % 8 == 0 if i % 12 == 0 continue까지만 생각했다...."""내 답을 기반으로 확장""" i = 1 while i if i % 8 == 0: if i % 12 == 0: i += 1 continue print(i) i += 1"""모범답안""" i = 1 while i if i %..