[파이썬 개념 정리 5]Numpy 라이브러리 개념 정리프로그래밍 언어/Python2024. 6. 29. 00:20
Table of Contents
이번 글은 코드잇 강의를 수강하면서 배운 내용을 주로 하여 정리되어 있습니다. (코드잇 스프린트 데이터 애널리스트 트랙 1기 훈련생)
라이브러리
데이터 분석 실무에서 많이 활용하는 Toolkit으로, 파이썬에서 필수적인 요소이다.
대표적인 라이브러리
- numpy : 수치적인 연산을 할때 많이 활용함
- pandas : 데이터를 표 형식으로 정리하고 분석함
- matplotlib : 데이터의 효과적인 전달을 위해 데이터를 시각화할 때 사용함
Numpy(Numerical Python)
- 수치적인 연산에 최적화된 라이브러리이다.(파이썬 도구)
- 수학 연산과 통계 연산이 내장되어 있다.
- 장점 1) 메모리 최적화 2) 연산 최적화
- numpy이 없이 사용했을 때 상대적으로 복잡한 구현을 numpy로 간단하게 쓸 수 있다.
- 넘파이의 근본이 되는 자료형은 numpy array(넘파이 배열)로 리스트와 유사한 점들이 많다.
array
import numpy as np
array1 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) # 1차원 배열
print(array1) # ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
array2 = np.zeros(10)
print(array2) # ([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
array3 = np.arange(10)
print(array3) # ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 리스트와 유사하게 -1이 되는 숫자까지 호출
array4 = np.arange(2, 10)
print(array4) # ([2, 3, 4, 5, 6, 7, 8, 9])
array5 = np.arange(4, 17, 3)
print(array5) # ([4, 7, 10, 13, 16])
print(type(array1)) # numpy.ndarray nd : n dimensional (n차원)
- 2차원 배열로도 array 생성 가능
# 2차원 배열
import numpy as np
array1 = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
print(array1)
'''
([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
print(array1.size) # 12
print(array1.shape) # (3, 4)
1차원 array의 인덱싱과 슬라이싱
import numpy as np
gdp_array = ([14244, 23141, 34221, 1321, 234, 3141, 35321, 14141])
print(gdp_array) # ([14244, 23141, 34221, 1321, 234, 3141, 35321, 14141])
gdp_array[0] # 14244
gdp_array[-1] # 14141
gdp_array[[1, 3, 5]] # array([23141, 1321, 3141])
gdp_array[0:6] # [14244, 23141, 34221, 1321, 234, 3141] 0부터 5까지
gdp_array[:5] # [14244, 23141, 34221, 1321, 234] 0부터 4까지
gdp_array[1:8:3] # [23141, 234, 14141] # 1부터 7까지 3씩 뛰어서
2차원 array의 인덱싱과 슬라이싱
import numpy as np
price_array = np.array([
[1,2,3,4,5,6],
[7,8,9,10,11,12],
[13,14,15,16,17,18],
[19,20,21,22,23,24]
])
print(price_array)
'''
array([[1,2,3,4,5,6],
[7,8,9,10,11,12],
[13,14,15,16,17,18],
[19,20,21,22,23,24]])
'''
price_array[1][3] # 10
price_array[1:3][2:5]
# array([[9, 10, 11],
# [15, 16, 17]])
price_array[1:3, 2:]
# array([[9, 10, 11, 12],
# [15, 16, 17, 18]])
price_array[:, 2:5]
# array([[3, 4, 5],
# [9, 10, 11],
# [15, 16, 17],
# [21, 22, 23]])
price_array[1:3, :]
# array([[7, 8, 9, 10, 11, 12],
# [13, 14, 15, 16, 17, 18]])
불린 인덱싱과 마스킹
특정 조건에 따라서 어떤 조건들은 가리고 어떤 값들은 보여주는 경우를 말한다.
import numpy as np
gdp_array = np.array([6666, 1237, 14764, 31414, 2365, 27653, 14123, 8321, 5421, 6013])
mask = gdp_array > 10000
gdp_array[mask] # array([ 14764, 31414, 27653, 14123])
gdp_array[gdp_array > 10000] # 위 코드와 동일한 기능으로 활용 가능 array([ 14764, 31414, 27653, 14123])
gdp_array < 8000 # array([ True, True, False, False, True, False, False, False, True, True])
gdp_array[gdp_array < 8000] # array([6666, 1237, 2365, 5421, 6013])
# and -> & or -> | 불린 인덱싱에서는 이 기호들을 대신해서 사용한다.
mask = (gdp_array < 8000) | (gdp_array > 10000)
gdp_array[mask] # array([6666, 1237, 14764, 31414, 2365, 27653, 14123, 5421, 6013])
gdp_array[(gdp_array < 8000) | (gdp_array > 10000)] # 위와 동일
(gdp_array >= 8000) & (gdp_array <= 10000) # array([False, False, False, False, False, False, False, True, False, False])
gdp_array[(gdp_array >= 8000) & (gdp_array <= 10000)] # array([])
Numpy의 기본 연산
gdp_usa_array = np.array([12257, 11561, 13165, 14673, 14696, 19403])
gdp_usa_array # array([12257, 11561, 13165, 14673, 14696, 19403])
gdp_usa_array.mean() # 14292.5
gdp_usa_array.sum() # 85775
gdp_usa_array.min() # 11561
gdp_usa_array.max() # 19403
gdp_usa_array * 2 # array([24514, 23122, 26330, 29346, 29392, 38806])
gdp_korea_array = np.array([36335, 37133, 3823, 39496, 41713, 44115])
gdp_usa_array.shape # (6, )
gdp_korea_array.shape #(6, )
gdp_korea_array - gdp_usa_array # array([24078, 25572, -9342, 24823, 27017, 24712])
gdp_korea_array / gdp_usa_array # array([2.96442849, 3.21191938, 0.29039119, 2.69174675, 2.8383914, 2.27361748])
이번 글에서는 파이썬의 라이브러리 / numpy / array / 불린 인덱싱 / numpy의 기본 연산이 포함된 내용을 정리했으며, 파이썬을 통해 코드를 작성하는 경우에 모두 필수적인 개념들로 꼭 잊지 말고 알아가야 하는 내용인 것 같습니다.
글 읽어주셔서 감사합니다
출처 및 참고자료 : 코드잇 사이트 강의 '데이터 사이언스 Toolkit' https://www.codeit.kr/topics/data-science-toolkit
728x90
'프로그래밍 언어 > Python' 카테고리의 다른 글
[파이썬 개념 정리 6]Pandas 라이브러리 개념 정리 (0) | 2024.06.29 |
---|---|
[파이썬 개념 정리 6]Matplotlib 라이브러리 개념 정리 (0) | 2024.06.29 |
[파이썬 개념 정리 4]파이썬 응용 개념 정리 (0) | 2024.06.28 |
[파이썬 개념 정리 3]파이썬의 개념 기초 정리 3️⃣ (0) | 2024.06.28 |
[파이썬 개념 정리 2] 파이썬의 개념 기초 정리 2️⃣ (0) | 2024.06.21 |
@ourkofe's story :: ourkofe
데이터 분석을 공부하고 카페를 열심히 돌아다니는 이야기
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!