데이터 리터러시를 위한 발자취

[부트캠프] 데이터분석 학습일지 4주차 본문

부트캠프/[패스트캠퍼스] 데이터분석 9기

[부트캠프] 데이터분석 학습일지 4주차

wosole 2023. 7. 14. 10:51

데이터분석 부트캠프 학습일지 4주차입니다.

지난주에 이어 Python 강의를 진행 중인데, 속성으로 진행되는 만큼 정신없이 흘러간 4주차입니다...

 

게다가 이번주 금요일, 미니 프로젝트를 위한 준비가 진행되는 주이기도 했습니다.

아직 Python을 능숙하게 다루지 못하고 있는데 과연.. 제 앞날이 어떻게 될지 아주 기대되네요(?)..

# 부트캠프 4주차
1. 리스트 조작하기
2. 스택(Stack) & 큐(Queue) 이해하기
3. 서식지정자 & 포멧팅 사용하기
4. 함수 사용하기
5. 람다(lambda) 사용하기
6. Tkinter 사용하기
7. matplotilb & seaborn 사용하기

1. 리스트 조작하기

- append : 요소 하나 추가 (빈 리스트에 값을 추가할 수 있음)

a = []
for i in range(10):
    a.append((i+1)*10)
print(a)

- extend : 리스트 연결하여 확장 (다른 리스트(b)를 기존 리스트와 합치는 것)

a = [10, 20, 30]
a. extend([500,600])
print(a) # [10, 20, 30, 500, 600]
len(a) # 5

- insert : 특정 인덱스에 요소 추가 (insert(인덱스, 요소)로 작성됨)

a = [10, 20, 30]
a.insert(2,500) # index 2에 500을 추가
print(a) # [10, 20, 500, 30]
len(a)

- pop : 마지막 요소 또는 특정 인덱스 요소 삭제

a = [10, 20 , 30]
a.pop() # 마지막 요소인 30 삭제 
print(a)

- remove : 리스트에서 특정 값을 찾아서 삭제함

a = [10,20,30,20]
a.remove(20)
print(a)

- copy : 특정 리스트의 모든 요소를 복사하며, copy로 생성된 변수는 서로 다른 변수로 인식됨

a = [0,0,0,0,0]
b = a.copy()
print(b) # [0,0,0,0,0]

# 리스트 표현식 사용하기

# 작성방식 
[식 for 변수 in 리스트]
list(식 for 변수 in 리스트]

# 예시
# rnage(10)으로 0~9까지 생성하여 변수 i에 숫자를 꺼내고, 최종적으로 i를 이용하여 리스트를 만든다는 뜻
a = [i for i in range(10)] # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(a)
b = list(i for i in range(10)) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(b)

2. 스택(Stack) & 큐(Queue) 이해하기

# 스택(Stack) 

- LIFO (Last In First Out) : 가장 최근에 푸쉬(push)한 자료부터 먼저 나오는(pop) 구조를 의미

스택의 구조(출처 : https://commons.wikimedia.org/wiki/File:Data_stack.svg#/media/파일:Data_stack.svg)

 

 

# 큐(Queue) 

- FIFO (First In First Out) : 먼저 들어간 데이터가 가장 먼저 나오는 구조이며, 스택과 반대되는 개념

큐의 구조(출처 : https://commons.wikimedia.org/wiki/File:Data_Queue.svg#/media/파일:Data_Queue.svg)

 

# References

더보기

3. 서식지정자 & 포멧팅 사용하기

# 문자열 넣기 : '%s' % '문자열'
- %s는 string의 s임

print('I am %s.' % 'james') # I am james.

# 숫자 넣기 : '%d' % 숫자
- %d는 decimal interger의 d임

data = 3
print('Data %d' % data) # Data 3

 

# 실수 넣기 : '%f' % 숫자
- %f는 fixed point의 f임
- 소수점 이하 자릿수를 지정하고 싶다면, f 앞에 (.)점과 자릿수 지정해주면됨
- ex) 소수 둘째자리 : '%.2f' % 숫자

fd = 3.141592
print('%.2f' % fd) # 3.14

# f 문자열 포멧팅

- 파이썬 3.6 버전 이후부터 사용 가능

- 단, f는 서식지정자 제일 앞에 위치해야 정상 작동함

language = 'Python'
version = '3.6'
print(f'Hello, {language} {version}') # Hello, Python 3.6

4. 함수 사용하기

- 함수에서 값을 받으려면 ()괄호 안에 변수 이름을 지정해주면 됨

# 작성방식
def 함수이름(매개변수1, 매개변수 2):
	코드

# 예시
def add(a,b): 
    print(a + b)
add(10,20)

- 함수 결과 반환시, return을 사용하여 값 반환

# 작성방식
def 함수이름(매개변수) : 
	return 반환값

# 예시
def add(a,b):
    return a + b
x = add(10,20) 
print(x) # 30

5. 람다(lambda) 사용하기

- 람다(lambda)에 매개변수를 지정하고, :(콜론) 뒤에 반환 값으로 사용할 식을 지정함
- lambda 매개변수들 : 식
- 람다 표현식 안에서는 변수를 만들 수 없음
- 반환값 부분은 변수 없이 식 한줄로 표현할 수 있어야 함

# 작성방식
lambda 매개변수들 : 식 
lambda 매개변수들 : 식1 if 조건식 else 식2

# 예시
plus_ten = lambda x: x+10
print(plus_ten(1))

6. Tkinter 사용하기

- GUI 프로그램을 만들기 위한 파이썬 표준 라이브러리(내장)
 1) 메인 창 (TK 객체) 생성
 2) 위젯 생성
 3) 위젯을 창에 배치
 4) 메인 루프 실행

 


7. matplotilb & seaborn 사용하기

# matplotlib 

- 파이썬 표준 시각화 도구로 다양한 그래프 유형을 제공함 

- 연속형 데이터 : 데이터 간 상관관계, 변화량에 따른 산점도, 밀도 그래프 적용 가능 

- 범주형 데이터 : 데이터 간 항목 또는 그룹 비교, 비율, 순위형 자료로 box, bar, pie, heatmap 등 가능

- 시계열 데이터 : 날짜나 요일 등 시간 단위 데이터의 경향성 흐름을 나타내는 자료는 line, ribbon 등 가능

- matplotlib 구성요소에 따라 자유롭게 그래프 출력 가능

  • Figure : 그래프 전체 그림을 의미
  • X axis : X 축 
  • Y axis : Y 축
  • Tick : 그래프 눈금
  • Spines : 그래프 테두리
  • Line : 선 그래프(line plot)의 선
  • Markers : 산점도(scatter)에서 점(point) 
  • Grid : 그래프 격자 
  • Title : 그래프 제목
  • Label : 각 축이나 눈금 등에 붙이는 Text를 의미하며, X축, Y축 및 Title 등 라벨 설정 가능
  • Legend : 범례를 의미하며, 출력되는 위지 조정 가능 

출처 : Matplotlib 공식 사이트 (https://matplotlib.org/)

# seaborn

- 통계 데이터 시각화에 최적화 되어있으며, 대부분 matplotlib와 함께 사용함

- matplotlib에 비해 비교적 간단한 문법만으로도 구현 가능함

출처 : seaborn 공식 사이트 (https://seaborn.pydata.org/)


오늘부터 미니 프로젝트가 시작됩니다-! 

점점 빡세지는 나날이군요..ㅋㅋ 지금 이 글을 쓰고 있는 순간도 열심히 데이터를 보고 있습니다..ㅎㅎ

 

남은 기간도 화이팅이에요!!

Comments