brunch

멋쟁이사자처럼 데이터 분석 부트캠프 수강 후기

멋쟁이사자처럼 데이터 분석 부트캠프 수강 후기

by 멋쟁이사자처럼
dab-cover.png 데이터 분석 수강생 공부 후기

“데이터 분석 어렵다는데 나도 할 수 있을까?”


이런 고민을 하고 있다면, 지금 이 순간에도 멋쟁이사자처럼에서 데이터 분석 과정을 수강하며 자신만의 속도로 성장 중인 수강생들을 주목해보세요.




멋쟁이사자처럼이 전하는 말


배우고 잊어버리는 건 누구나 겪는 일이에요. 하지만 멋쟁이사자처럼 부트캠프는 단순히 배우는 것에 그치지 않고, 배운 내용을 내 것으로 만드는 방법까지 고민하고 있어요. 그렇다면, 배운 것을 가장 효과적으로 습득하는 방법은 무엇일까요? 바로 기록하고 정리하는 것이죠. 배운 내용을 정리하고 기록하면, 기억은 오래 남고 실전에서도 활용할 수 있으니까요!


멋쟁이사자처럼 부트캠프는 수강생들이 배운 내용을 정리하고 공유할 수 있도록 TIL (Today I Learned) 블로그 챌린지를 진행하고 있어요. 그래서 오늘, 강사님과 멘토님에게 배운 내용을 체계적으로 기록하며 성장하고 있는 수강생의 이야기를 가져왔어요. 작고 사소해 보일지라도 배운 내용을 정리하고, 기록하면서 성장한 이들의 소중한 경험을 지금 확인해 보세요.



dab-02.png 멋쟁이사자처럼 오늘 공부 후기 챌린지


# COLAB 단축키

Ctrl + ] : 셀 들여쓰기

Ctrl + [ : 셀 내어쓰기

Ctrl + Shift + L : 셀 내 단어 한번에 선택 및 바꾸기

Ctrl + Enter : 해당 셀 실행, 커서는 그대로

Shift + Enter : 해당 셀 실행, 아래 셀을 선택(없으면 새로운 셀 추가)


# 연산자

## 사칙연산

a + b

a - b

a * b

a / b


## 제곱

a ** b : a의 b승

#예시print(2**3)
8


## 나머지와 몫

a % b : a를 b로 나누었을 때의 나머지

a // b : a를 b로 나누었을 때의 몫


# 예시print(15 % 4)
3
print(15//3)
5

# 그룹 자료형

## 문자형

문자형의 처리는 더하기 또는 곱하기 연산자 사용가능

t1="Python"
t2=" is fun"
(t1 + t2) * 3
Python is fun Python is fun Python is fun


문자형(String) : 따옴표('', "")로 감싸서 표현

\n 은 뛰어쓰기

\t 는 들여쓰기(tab) ## python상에서는 원화(₩)표시로 입력됨

t = "\\"Python\\"is awesome. \\n\\tHello Python"
> "Python" is awesome.
Hello Python


원하는 위치의 문자를 선택할 수도 있다.

index는 0부터 시작!

슬라이싱할 때 [a:b]이면, b-1자리에 있는 문자까지만 슬라이싱함

tx="Hello!"
tx[0]
H

tx[0:2] ## 0부터 2까지 슬라이싱이므로 0~1까지의 문자만 출력
He

tx[-1]## -1은 뒤에서 첫번째 문자 출력
!

#문자의 길이
len(tx)


반대로, 문자의 위치도 찾을 수 있음.

find와 index 메소드 사용

tx="Python is fun"
tx.index("t")
2
tx.find("i")
7
tx.count("P")#문자열에서 P의 개수를 출력함.
1

문자열 바꾸기 & 나누기

.replace사용 > 데이터 자체가 바뀌는 것이 아니기 때문에 새로이 덮어씌워줘야함!

.split사용 ex) 데이터.split(",") // 데이터.split(" ")

t="Python is not fun"
t= t.replace("not","very")
> Python is very fun t.split(" ") #공백을 기준으로 나누겠다는 뜻
> ['Python', 'is', 'very', 'fun']


f-string

문자열 맨 앞에 f를 붙인다.

변수를 입력할 부분에 중괄호( { } )를 입력한다.

변수를 따로 설정하지 않을 경우, format을 활용한다.

# 변수를 미리 설정했을 때
month = 12
day = 26
print(f"오늘은 {month}월 {day}일입니다.")
오늘은 12월 26일 입니다.

# 변수를 미리 설정하지 않을 경우1print("오늘은 {}월 {}일 입니다.".format(month,day))
오늘은 12월 26일 입니다.

# 변수를 미리 설정하지 않을 경우2 - ex) for문for i in range (1,10):
for j in range (1,10):
print( "{} * {} = {}".format(i,j,i*j))## format메소드안에서 연산작업도 가능


## 리스트

대괄호 ( [ ] ) 로 정의

모든 데이터 타입 가능, 원소간의 타입이 같지 않아도 됨.

원소 변경가능

l1 = [1,2,2,6]
l2 = ['life', 'is', 'too', 'short']
l3 = [1,2, 'life', 'short']
l4 = [1,2, [3,4], ['life', 'is']]
l4[2] > [3,4]
l4[3][0] > 'life'

l4의 3번째 원소는 ['life', 'is']라는 또 다른 리스트, 그 리스트 중에서 첫번째 원소[0]는 life

리스트 수정(변환) 리스트는 문자열 변환시에 .replace를 사용할 수 없음 인덱스 지정 후 바꿀 값 입력


l1 = [1,2,2,6]
l2 = ['life', 'is', 'too', 'short']
l3 = [1,2, 'life', 'short']
l4 = [1,2, [3,4], ['life', 'is']]
# 문자 변환
|l2[-1] = "long"
l2 > ['life', 'is', 'too', 'long']


리스트 수정(추가)

.append() : 하나의 원소만 추가 가능 - 리스트의 마지막 부분에 추가

.insert( index , value ) :하나의 원소만 추가 가능 - 인덱스 지정 가능

.extend([ , ]): 두개 이상의 원소 추가 가능 ##리스트형식으로 입력해야 오류 발생 x


l1 = [1,2,2,6]
l2 = ['life', 'is', 'too', 'short']
l3 = [1,2, 'life', 'short']
l4 = [1,2, [3,4], ['life', 'is']]

# 문자 추가 - append
l4.append("감자")
l4
> > [1, 2, [3, 4], ['life', 'is'], '감자'] l4[-1].append("감자")

l4 > [1, 2, [3, 4], ['life', 'is', '감자']]
# 문자 추가 -insert14.insert(3,5)

l4 > [1, 2, [3, 4], 5, ['life', 'is']]
# 문자 추가 - extend l1.extend([7,8,9])
l1 > [1, 2, 2, 6, 7, 8, 9]


⁉️l4[-1].append("감자") 가 가능한 이유

14[-1]이 ['life','is]라는 리스트이기 때문에, 해당 리스트의 마지막 부분에 추가되어 아래와 같이 출력됨

[1, 2, [3, 4], ['life', 'is', '감자']]

리스트 수정(쪼개기,합치기)

.split()

.join()

a = 'Python is fun'
l = a.split(" ")# split("나눌 기준")
l
> ['Python', 'is', 'fun']

text." ".join(l)# "합칠 기준".join(합칠 문장)
text
> Python is fun

리스트 수정(제거) .remove(value) : 지우고 싶은 값 제거

.pop() : 마지막 값만 남기고 제거

l1 = [1,2,2,6]
l2 = ['life', 'is', 'too', 'short']
l3 = [1,2, 'life', 'short']
l4 = [1,2, [3,4], ['life', 'is']]
# 문자 제거 - remove l3.remove(2)
l3 > [1, 'life', 'short']
# 문자 제거 - pop l2.pop() > 'long'

원소 정렬 ( .sort와 sorted()의 차이!) .sort() : 리스트의 원본 변형 / 내림차순 정렬은 .sort(reverse=True) / 기본 반환값 : None sorted() : 원본 리스트는 그대로 유지한 상태로 정렬된 값만 반환 sorted()가 적용할 수 있는 대상이 더 광범위함.


a = [2, 4, 1, 9, 5, 8]

# sort
a.sort() , a.sort(reverse=True)
|> (None, None)

ascend = a.sort()
descend = a.sort(reverse=True)
print(ascend, descend)
> None None# ❗.sort()의 반환값은 None임

a.sort()
a
> [1, 2, 4, 5, 8, 9]

a
> [1, 2, 4, 5, 8, 9]

a.sort(reverse = True)
a
> [9, 8, 5, 4, 2, 1]

a.reverse()# 단 온전히 정렬이 된 상태에서 reverse를 적용시켜야 완벽한 오름/내림차순이 됨.
a
> [9, 8, 5, 4, 2, 1]

#sorted
a=[2,4,1,9,5,8]
sorted(a), sorted(a,reverse=True)
>([1, 2, 4, 5, 8, 9], [9, 8, 5, 4, 2, 1])

a
> [2,4,1,9,5,8]#❗sorted함수는 원본 리스트에 영향을 주지 않음


## 튜플(Tuple)

소괄호()로 정의




마치며.


공부는 배울 때 끝나는 게 아니라, 되새기고 활용할 때 완성돼요. 그런 의미에서 오늘 소개한 이야기는 단순한 후기가 아니라, 학습을 더 효과적으로 만들고 나만의 것으로 만드는 과정이었을 거예요. 여러분도 배운 내용을 정리하고, 더 오래 기억하는 습관을 만들어 보세요. 작은 차이가 결국 큰 결과를 만들 테니까요!


내가 배운 것을 글로 정리하는 것이 처음에는 어렵게 느껴질 수도 있지만 멋쟁이사자처럼과 함께 꾸준히 기록하다 보면 스스로 변화하고 있다는 걸 깨닫게 될 거예요. 자! 이제 여러분 차례에요. 언제나 여러분의 곁에는 멋쟁이사자처럼이 있으니 고민하지 말고 배움을 기록하고, 성장의 발자취를 남겨보세요!





keyword
매거진의 이전글멋쟁이사자처럼 데이터 분석 부트캠프 수강 후기