학습목표
데이터 분석을 위해 필요한 Python 데이터 관련 함수를 이해하기
why Python?
- AI packages, libraries 활용
- 데이터 분석, 전처리를 보다 직관적이고 쉽게
- AI 알고리즘 활용 호환
데이터 관련 함수 사용 이해
keywords: tuple, slicing, list, indexing, dictionary
indexing: 특정한 값을 뽑아내는 역할
indexing 예시
인덱싱의 형태
x[번호]
> Python은 숫자를 0부터 셈
> x[0]는 'R'을 x[-1]은 '!'를 불러올 수 있음. 뒤에서부터 읽는 경우는 -(마이너스 기호)를 붙여줌.
Slicing: 한 문자만이 아니라 단어를 뽑아내는 능력
슬라이싱의 형태
x[시작번호:끝번호]
> 단, 번호를 지정할 때 끝 번호에 해당하는 것은 포함하지 않음
x[0:4] → Rome
> 끝 번호를 삭제한다면 시작번호부터 끝까지 다 출력함
x[12:] → built in a day!
> 슬라이싱도 인덱싱과 마찬가지로 -(마이너스) 기호를 사용할 수 있음
x[12:-7] → built in: x[12]부터 x[-8]까지를 의미
다른 자료형: string(문자형), integer(정수형), float(소수)
list 자료형: 순서대로 정리된 항목들을 담는 구조(특정 데이터를 반복적으로 처리하는데 특화)
> 리스트는 []으로 감싸주고 각 요소는 ,(콤마)로 구분
numList = [1, 2, 3]
> 리스트명 = list(range(시작값, 종료값, 증가or감소))
b = list(range(1, 10, 2))
• list 관련 함수
리스트 변수 이름 뒤에 '.'을 붙여서 여러가지 함수를 사용할 수 있음
함수 | 내용 | 문법 | 사용예시 |
append | 리스트의 끝에 요소 추가 | 리스트.append(요소) | a.append(4) |
insert | 리스트의 특정 인덱스에 요소 추가 | 리스트.insert(인덱스, 요소) | a.insert(1, 4) / a.insert(1, 'corn') |
extend | 리스트1에 리스트2를 연결해 확장 | 리스트1.extend(리스트2) | a.extend(b) / a.extend([4, 5]) |
remove | 리스트의 특정값의 요소를 삭제 | 리스트.remove(요소) | a.remove(3) |
count | 리스트 중 특정 값을 가진 요소의 개수를 카운트 | 리스트.count(요소) | a.count(1) |
sort | 리스트 내 요소를 오름차순으로 정리 내림차순 → reverse = True |
리스트.sort() 리스트.sort(reverse = True) |
a.sort() a.sort(reverse = True) |
pop | 리스트의 맨 마지막 요소를 돌려주고 그 요소를 삭제 | 리스트.pop() | a.pop() |
pop | 리스트의 x번째 요소를 돌려주고 그 요소를 삭제 | 리스트.pop(인덱스) | a.pop(1) |
Tuple 자료형: 리스트와 거의 유사하고 사용법도 동일함
> 리스트는 []으로 둘러싸지만 튜플은 ()으로 둘러쌈
> 리스트와 달리 요소들의 수정과 추가 불가
b = (1, 2, 3)
b = 1, 2, 3 # ()괄호를 사용하지 않고도 튜플 생성이 가능함
• Tuple의 장점
> 반복 처리시 리스트에 비해 근소하게 빠름
> 요소 변경이 불가하므로 딕셔너리의 키로 사용할 수 있음
> 보안이 필요한 데이터를 보호하는데 주로 사용됨
Dictionary 자료형: 사전이 단어와 뜻으로 구성이 되는 것처럼, key와 value를 한 쌍으로 갖는 자료형
dic = {'name':'dany', 'phone':'01012341234', 'birth':'840101'}
> 딕셔너리 key 값으로 튜플은 사용 가능하지만 리스트는 사용 불가
• Dictionary 관련 함수
> 리스트 고유함수 append, insert, remove, sort는 사용할 수 없음
> key 및 value의 추가/수정/삭제
• List, Tuple, Dictionary 차이
구분 | 설명 |
리스트(List) | 순서대로 정리된 항목들을 담는 자료구조 |
튜플(Tuple) | 리스트와 비슷하지만 수정이 불가능한 자료구조, 주로 문자열과 같은 비정적인 객체를 담음 |
딕셔너리(Dictionary) | key와 value로 구성되는 자료구조 |
'[Python] 연습' 카테고리의 다른 글
[AIFB] Pandas DataFrame (0) | 2022.08.14 |
---|---|
[AIFB] DataFrame 변형하기 (0) | 2022.08.13 |
텐서플로로 간단한 머신러닝 실습하기 (0) | 2022.07.11 |
[Python] NumPy 배열 인덱싱, 슬라이싱 연습 (0) | 2022.07.07 |
[Python] numpy 기본 정리 (0) | 2022.07.06 |