Search
🔺

1.데이터 분석이란? + Data Type

CHAPTER 01. 데이터 분석이란?

1. 데이터 분석의 목적과 흐름

데이터 분석가의 역량
Python, SQL 등 같은 데이터분석 툴을 활용하는 능력
인사이트 도출 능력
팀과의 협업 능력
데이터 분석의 핵심가치
수집한 데이터에서 어떤 가치를 뽑아내는가?
데이터를 분석하여 어떤 것을 얻어내고 싶은가?
데이터를 통한 올바른 의사 결정을 할 수 있는가?

2. 데이터 분석은 어떻게 진행되는가?

데이터 분석 과정(python)
데이터 수집: 이미 되어있는 경우가 많음. 없는 경우 크롤링
데이터 탐색: EDA 데이터에 대한 파악 → 해당 과정에서 집중하는 것!
데이터 전처리: 사용할 수 있게끔 처리
데이터 모델링

3. 비즈니스 데이터 분석의 이해

고객들의 거래 내역 정보 → 고객정보 분석
고객들의 정보를 보고 이 사람이 파산할지 안할지? 구매할지 안할지? 등
→ 비즈니스 영역에서의 확인해야 할 부분
고객 유형과 세분화: 고객의 특성으로 묶어서 세분화 및 그룹화
→ 추후 유사한 고객에게도 유사한 서비스 등을 제공
서비스 설문 데이터 → 서비스를 고도화해서 비즈니스 모델을 만들 수 있음
예) 이런 특성을 가진 사람들이 이런 서비스를 원하니까, 추후에 이런걸 추천하면 되겠다
비즈니스 데이터 분석의 가치
수집한 데이터에서 어떤 가치를 뽑아내는가?
→ 비슷한 고객들은 비슷한 의사 결정을 할까?
데이터를 분석하여 어떤 것을 얻어내고 싶은가?
→ 고객들을 비슷한 유형들로 세분화
데이터를 통한 올바른 의사 결정을 할 수 있는가?
→ 비슷한 고객들이 잘 세분화 되었다면, 새로운 고객에 대해 유사한 집단에 적용 가능

4. 데이터 분석 도구 소개

필요한 기능을 파악 한 뒤, 목적에 따라 골라쓰면 됨
Application vs Programming
기존에 있는걸 쓸거냐, 필요에 따라 내가 만들어 쓸거냐
→ Application: excel, Programming: R, python 등, pandas library
고객 유형 분석을 Excel과 Python으로 비교
EXCEL
→ 대용량 데이터에 적합하지 않음
장점: 손쉽게 데이터 분석 시작 가능, GUI로 그래프 통계 등을 직관적으로 볼 수 있음
단점: 대용량 데이터에 취약(느림), 머신러닝 서버구성 등의 기능 사용 불가능
Python(Pandas)
장점: 대용량 데이터를 빠르게 다룰 수 있음, 머신러닝 서버배포 등 함께 구현 가능
단점: 학습의 난이도가 높다, GUI 환경이지만 엑셀만큼 직관적이지 않음

CHAPTER 02. 환경설정

아나콘다 설치
Jupyter Notebook 설치

CHAPTER 3-1. 분석도구 Python

Python 이란

Programming : 컴퓨터에서 명령을 내리는 일련의 과정
Computer Architecture
SSD: 스토리지 → 데이터를 많이 들고 있을 수 있음
CPU: 처리 프로세서 → 빠른대신 많은 데이터를 들고 있을 수 없음
RAM: CPU와 SSD의 중간. 적당히 빠르고 적당한 스토리지
Python
생산성: 개발속도가 빠름
가독성: 코드가 이쁨
확장성: 오픈소스 라이브러리가 많음
→ 무료로 오픈되어 있는 소스가 많아 가져다 쓰기 편함
주요 라이브러리

CHAPTER 3-2 Data Type(Intro)

Python 기초 문법 - Data Type (Intro)

Data Type이란?
모든 프로그래밍 언어가 데이터를 다루기 위해 필요한 약속
(ex. int, float, str, list, tuple, set, dict, ...)
Data Type 종류
numberic
Integer: 소수가 아닌 숫자
Float: 소수 숫자
Dictionary: 사전 타입
Boolean: 참 or 거짓
Set: 집합
Sequence Type: 순서를 가지고 있음
변수(variable)이란?
변수는 메모리에 데이터를 저장하기 위한 공간을 가리키는 말
(ex. a = 10, a라는 저장 공간에 10을 할당)
변수 a에 10이라는 정수 데이터를 할당(assign)한다.
a = 10
a라는 변수가 실제 메모리에서 저장되어 있는 위치.(메모리 주소)
id(a)140706008277024 a가 있는 메모리 주소
왜 data type은 여러가지 일까?
Q1. 컴퓨터는 정수와 실수를 어떻게 인식할까? (어떻게 구분할까)
Q2. 100개의 숫자를 한꺼번에 다루고 싶을 때 어떻게 해야할까?
Q3. 컴퓨터는 문자를 어떻게 인식할까?
Q4. 많은 데이터를 빠르게 찾아야 할때는 어떻게 저장할까?

CHAPTER 3-3 Data Type(int, float)

Python 기초 문법 - Data Type (int, float)

데이터 타입
정수형(int)
→ 1 + 1 = 2
실수형(floating point)
연산자
사칙연산
특수연산
문제

CHAPTER 3-4. Data Type (String)

1. String이란?

문자의 나열을 의미
컴퓨터는 문자를 encoding하여 숫자로 표현함(문자를 숫자로 인식함)
예) ASCII, utf-8, cp949 등 → utf가 현재 전세계적으로 웹에서 사용되는 국제 표준

2. String 기본 특징

문자 사용 종류
“”” 를 사용하면 그대로 스페이스까지 포함해서 인식
특수 문자 표현(escape code)
\n : new line
\t : tab
문자열 연산하기
문자 더하기
문자 곱하기

3. 문자열 Formatting

프린트 되는 포맷을 정할 수 있음
문자열 포맷에는 크게 3가지가 있음
문자열 포맷팅 종류
print format 사용
% 뒤의 s 는 string, % 뒤의 d는 정수
→ 사과와 4개가 순서대로 맵핑됨
str.format 함수사용
f-string

4. 문자열 관련 함수들(**)

(영어) 대소문자 바꾸기
upper(), lower()
문자 공백 지우기
strip( ) → 뒤의 공백만 지움, 가운데에 있는 공백은 문자로 인식됨
문자열 삽입
join ( ) → 문자 사이사이에 왼쪽에 있는 것들을 넣어줌
문자열 나누기
split ( ) → ( ) 일경우 공백 기준으로 잘림, (’is’)가 들어갈 경우 그 기준으로 잘림
문자열 바꾸기
replace (a, b) → a를 b로 치환해줌

CHAPTER 3-5. Data Type (List)

1. 리스트

자유롭게 수정이 가능함 (수정이 안되게 할때는 튜플을 사용)
리스트에는 다양한 타입의 원소를 포함할 수 있음
행렬처럼 표현할 수 있음

2. Indexing

리스트의 원소를 뒤에서 찾기
L[-3] L[len(L) - 3] == L[5-3] == L[2]
원소를 가져다가 더할 수 있음
리스트 L
인뎅식해서 더하기
리스트 안의 리스트
L2[1][0]→ 두번째에 있는 첫번째 숫자를 가져오기

3. Slicing

전체 리스트의 일부를 자르는 것
예제
L = [1,2,3,4,5] 일때
L[ : -1] → L[ : len(L) - 1] = L [ : 5- 1 ] : L [ : 4]
L[ -2 :] → L [ -2 : len(L)] = L[3 : len(L)]

4. 리스트 관련 함수

→ 리스트 활용