Challange

패스트캠퍼스 환급챌린지 27일차 미션 (2월 27일) : 데이터 분석 Master Class 강의 후기

@0-0 2024. 2. 27. 22:39
반응형

 

27일차!

 

오늘은 파이썬 기초의 자료형 파트의 마지막 시간!

처음에 목차를 보며 자료형 진짜 많다.. 라고 생각했었는데 벌써 모두 배웠다!

뿌-듯🤗

 

오늘은 딕셔너리, 집합, 불리언 자료형에 대해 배웠고 마지막 불리언은 정말정말 간단한 내용이었다!

그냥 불리언의 특징만 잘 기억해두면 된다=)

 

딕셔너리와 집합의 경우는 어렵진 않았다!
하지만 어제의 내용인 리스트, 튜플, 딕셔너리, 집합의 경우 각 특징을 잘 기억해두고

필요한대로 잘 조작해야 하는 것 같다.

이 부분이 조금 까다로운 정도?

 

특히 마지막 내용이었던 copy 함수에 대한 내용이 인상깊었다.

지금까지 파이썬을 이용하여 분석을 하면서 copy()를 사용하는 이유에 대해 모르고

왜 굳이 사용해야 하지라는 생각을 가져왔는데

오늘에서야 그 존재 이유에 대해 알게되었다ㅎㅎ

copy()를 사용하는 건 생각보다 되게 중요한 거였구나🤩

앞으로도 강의를 통해 파이썬에 대한 모르던 부분을 꼼꼼히 채워나가고 싶다👍

 

 

 

 

 


 

Part 3. PYTHON _ 파이썬 기초

 

 

 

 

 

02. 파이썬 기초

 

7. 자료형_딕셔너리

 

1) 딕셔너리

: 중괄호({})로 감싸진 키(Key):값(Value)의 쌍이 모여있는(맵핑이 되어있는) 사전 형태의 자료형

 

- 키는 중복 X, 리스트 자료형은 키가 될 수 없음(튜플은 변하지 않는 값이므로 가능)

- 위치 값을 가지지 않음 → 위치로 인덱싱 X

 

 

2) 딕셔너리 요소 추가, 삭제

- 추가: 딕셔너리 변수명[추가할 키] = 추가할 값

- 삭제: del 딕셔너리 변수명[추가할 키]

 

 

3) 딕셔너리 키로 값 찾기

딕셔너리 변수명[찾을 키]

 

 

4) 딕셔너리 함수

 

- keys() / values() / items() : 키 /  값 / 튜플 쌍(키:값)을 리턴

   * 딕셔너리 함수들은 반복문과 자주 쓰임

   * 결과를 리스트 형태로 반환하고 싶으면 list()로 감싸주기

 

- get(원하는 키 값) : 원하는 키 값에 대응되는 값 반환

   == 딕셔너리 변수명[원하는 키 값] 

 

- update : 딕셔너리에 새로운 딕셔너리 추가

dic1 = {'a':[1, 2], 'b':3, 'c':[4, 5, 6]}
dict2 = {'d':10, 'e':[11, 12]}

dic1.update(dic2)		# {'a':[1, 2], 'b':3, 'c':[4, 5, 6], 'd':10, 'e':[11, 12]}

 

- zip : 튜플 / 리스트 두 개를 하나의 딕셔너리로 리턴

* 길이가 다른 리스트를 대응시키면 길이가 작은 것에 대응되어 딕셔너리 생성

# value가 튜플
keys = ('a', 'b')
values = (1, 2)
print(dict(zip(keys, values)))		# {'a':1, 'b':2}

# values가 리스트
keys = ('a', 'b')
values = [1, 2]
print(dict(zip(keys, values)))		# {'a':1, 'b':2}

# 키와 값의 리스트의 길이가 다를 때
keys = ['a', 'b', 'c']
values = [1, 2]
print(dict(zip(keys, values)))		# {'a':1, 'b':2}

 

 

5) 데이터 셋과 대응

: 각 키들의 값의 길이가 같다면 dataframe(데이터 셋의 형식)과 대응  → 딕셔너리는 데이터 셋의 형식으로 쉽게 변환 가능

 

 

6) 연습문제

 

 

 

8. 자료형_집합, 불리언

 

1) 집합

: 중괄호({})로 감싸진 순서가 없고, 중복이 없는 자료형

s1 = set([1, 2, 'a'])
s1			# {1, 2, 'a'}

s2 = set('Hello')
s2			# {'e', 'l', 'o', 'H'}

s3 = set([1, 2, 2, 3, 5, 4])
s3			# {1, 2, 3, 4, 5}

- 중복을 제거하고 싶을 때 사용

- 순서 X → 인덱싱 X (리스트나 튜플로 변환 후 인덱싱)

 

 

2) 집합 함수

- intersection or & : 교집합

- difference or - : 차집합

- union or | : 합집합

 

- add / remove : 요소를 추가 / 제거

 

 

3) 불리언

: 참, 거짓을 나타내는 자료형

- True, False로 나타냄

 

 

4) 연습문제

- 부분집합: A가 B의 부분집합이려면 A의 모든 원소가 B에 속해야 함 (issubset(): 부분집합 여부 확인 함수)

   → B와 A의 차집합 = 0

 

 

 

9. 변수 심화 _ copy()

변수란? 데이터의 저장공간

 

a = [1, 2, 3]
b = a

위와 같다면 a와 b는 동일해짐

 

이때 a의 특정 인덱스 값을 바꾼다면? 

a[2] = 4
print(a)		# [1, 4, 3]
print(b)		# [1. 4. 3]

⇒ b의 결과값도 바뀜! 리스트 객체가 같기 때문!

: b = a를 선언하며 b에 a의 공간 값을 넣은 것과 같음

- id 함수(변수에 저장된 공간 id)를 통해 a, b의 id를 확인하면 동일한 것을 볼 수 있음

 

copy()

- b에 a의 값을 가져오면서 다른 주소를 가리키도록 하는 방법

   : a의 값이 바뀌어도 b의 값은 이전의 값을 유지하도록(값만 저장이 되고 공간은 따로 할당)

a = [1, 2, 3]
b = a.copy()
print(a)		# [1, 2, 3]
print(b)		# [1. 2. 3]
print(a == b)		# True: 값이 같기 때문

a[2] = 4
print(a)		# [1, 4, 3]
print(b)		# [1. 2. 3]
print(a == b)		# False

 

 

 

 

 

 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

 

 

 

 

:: https://bit.ly/48sS29N

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 

반응형