ํœด์ง€ํ†ต

[๋ฐ์ดํ„ฐ๋ถ„์„์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ]02 ๋ฐ์ดํ„ฐ ํ•ธ๋“ค๋ง์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ NumPy

์ฑ„๋ฏœ 2021. 9. 27.
728x90
๋ฐ˜์‘ํ˜•

02. ๋ฐ์ดํ„ฐ ํ•ธ๋“ค๋ง์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ NumPy

02-1. NumPy


NumPy๋ž€?
Numerical Python ํŒŒ์ด์ฌ์—์„œ ๋Œ€๊ทœ๋ชจ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์„ ๋‹ค๋ฃฐ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ


๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • Pandas
  • NumPy
  • Mathplotlib
  • ๋ฐ์ดํ„ฐ์˜ ๋Œ€๋ถ€๋ถ„์€ ์ˆซ์ž ๋ฐฐ์—ด๋กœ ๋˜์–ด ์žˆ๋‹ค.
  • NumPy๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์—†์ด ๋ฐฐ์—ด์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜์—ฌ ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ์— ๋น„ํ•ด ๋น ๋ฅธ ์—ฐ์‚ฐ์„ ์ง€์›ํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋ฆฌ์ŠคํŠธ

list_arr = list(range(5))
print(list_arr) #[0,1,2,3,4] ์‰ผํ‘œ๋กœ ๋‚˜๋ˆ ์ง€๋Š” ๋ฆฌ์ŠคํŠธ
print(type(list_arr)) #class list


numpy ์‚ฌ์šฉ๋ฒ•

import numpy as np
np_arr = np.array(range(5))
print(np_arr) #[0 1 2 3 4] ๊ณต๋ฐฑ์œผ๋กœ ๋‚˜๋‰˜์–ด์ง€๋Š” ๋ฐฐ์—ด
print(type(np_arr)) # calss 'numpy.ndarray' ndarray๋Š” n์ฐจ์›์˜ ๋ฐฐ์—ด ์˜๋ฏธ

 

 

728x90


02-2 ๋ฐฐ์—ด์˜ ๊ธฐ์ดˆ

๋ฐฐ์—ด์˜ ๋ฐ์ดํ„ฐํƒ€์ž… dtype 

int  i,int_,int32, int64,i8
float f, float_,float32, float64, f8
str  str, U U32
bool ?, bool_


ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ์™€ ๋‹ฌ๋ฆฌ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ํƒ€์ž…๋งŒ ์ €์žฅ ๊ฐ€๋Šฅ

arr = np.array([0, 1, 2, 3, 4], dtype=float)
print(arr) #[0. 1. 2. 3. 4. ]
print(arr.dtype) #float64
print(arr.astype(int)) #[0 1 2 3 4] astype ํƒ€์ž…๋ฐ”๊พธ๊ธฐ

 

ndarray์˜ ์ฐจ์› ์†์„ฑ: ndim & shape

ndim: ์ฐจ์›

shape: ๋ชจ์–‘(x,y)

#1์ฐจ์› ๋ฐฐ์—ด py
list = [0, 1, 2, 3]
arr = np.array(list)
print(arr.ndim) #1์ฐจ์›
print(arr.shape) #(4,)

#2์ฐจ์› ๋ฐฐ์—ด
list = [[0,1,2],[3,4,5]]
arr = np.array(list)
print(arr.ndim) #2์ฐจ์›
print(arr.shape) #(2,3)

ndarray์˜ ํฌ๊ธฐ์†์„ฑ๊ณผ shape ์กฐ์ ˆ๋„ ๊ฐ€๋Šฅ

arr = np.array([0,1,2,3,4,5])
print("arr.shape :{}".format(arr.shape)) #arr.shape : (6,0)
print("๋ฐฐ์—ด ์š”์†Œ์˜ ์ˆ˜ : {}".format(arr.size)) #๋ฐฐ์—ด ์š”์†Œ์˜ ์ˆ˜ : 6
print("๋ฐฐ์—ด์˜ ๊ธธ์ด : {}".format.len(arr))) #๋ฐฐ์—ด์˜ ๊ธธ์ด : 6

#arr.shape = 3,2 ๋กœ ๋ณ€๊ฒฝ

arr.shape = 3,2 
print("arr.shape :{}".format(arr.shape)) #arr.shape : (3,2)
print("๋ฐฐ์—ด ์š”์†Œ์˜ ์ˆ˜ : {}".format(arr.size)) #๋ฐฐ์—ด ์š”์†Œ์˜ ์ˆ˜ : 6
print("๋ฐฐ์—ด์˜ ๊ธธ์ด : {}".format.len(arr))) #๋ฐฐ์—ด์˜ ๊ธธ์ด : 3
#1๋ถ€ํ„ฐ 15๊นŒ์ง€ ๋“ค์–ด์žˆ๋Š” (3,5)์งœ๋ฆฌ ๋ฐฐ์—ด์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
matrix = np.array(range(1,16))
matrix.shape = 3,5
import numpy as np

print("2์ฐจ์› array")
#1๋ถ€ํ„ฐ 15๊นŒ์ง€ ๋“ค์–ด์žˆ๋Š” (3,5)์งœ๋ฆฌ ๋ฐฐ์—ด์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
matrix = np.array(range(1,16))
matrix.shape = 3,5
print(matrix)


# 1. matrix์˜ ์ž๋ฃŒํ˜•์„ ์ถœ๋ ฅํ•ด๋ณด์„ธ์š”.
print(type(matrix))

# 2. matrix์˜ ์ฐจ์›์„ ์ถœ๋ ฅํ•ด๋ณด์„ธ์š”.
print(matrix.ndim)

# 3. matrix์˜ ๋ชจ์–‘์„ ์ถœ๋ ฅํ•ด๋ณด์„ธ์š”.
print(matrix.shape)

# 4. matrix์˜ ํฌ๊ธฐ๋ฅผ ์ถœ๋ ฅํ•ด๋ณด์„ธ์š”.
print(matrix.size)

# 5. matrix์˜ dtype(data type)์„ ์ถœ๋ ฅํ•ด๋ณด์„ธ์š”.
print(matrix.dtype)

# 6. matrix์˜ dtype์„ str๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์ถœ๋ ฅํ•ด๋ณด์„ธ์š”.
print(matrix.astype('str'))

# 7. matrix์˜ (2,3) ์ธ๋ฑ์Šค์˜ ์š”์†Œ๋ฅผ ์ถœ๋ ฅํ•ด๋ณด์„ธ์š”.
print(matrix[2,3])

# 8. matrix์˜ ํ–‰์€ ์ธ๋ฑ์Šค 0๋ถ€ํ„ฐ ์ธ๋ฑ์Šค 1๊นŒ์ง€, ์—ด์€ ์ธ๋ฑ์Šค 1๋ถ€ํ„ฐ ์ธ๋ฑ์Šค 3๊นŒ์ง€ ์ถœ๋ ฅํ•ด๋ณด์„ธ์š”.
print(matrix[0:2,1:4])
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€

๐Ÿ’ฒ ์ถ”์ฒœ ๊ธ€