๐Ÿ“—
JunegLee's TIL
  • TIL
  • python
    • class
    • String Basic
    • regularExpression
    • String function
    • Generator
    • String format
    • getset
    • module
    • while
    • numpy
    • print()
    • matplotlib
    • for
    • Boolean
    • tuple
    • package
    • input(variable)
    • list
    • if
    • file
    • type()
    • pandas
    • function
    • dictionary
    • ๊ตฌ๋ฌธ ์˜ค๋ฅ˜์™€ ์˜ˆ์™ธ
    • builtinFunction
    • Constructor
  • algorithm
    • sort
      • mergeSort
      • insertionSort
      • bubbleSort
      • heapSort
      • quickSort
      • selectionSort
    • recursion
    • Greedy
    • DepthFirstSearch
    • basic
      • DataStructure
    • hash
    • BreadthFirstSearch
  • tensorflow
    • keras
      • layers
        • Flatten
        • Flatten
        • Dense
        • Dense
        • Conv2D
        • Conv2D
    • tensorflow1x
    • tensorflow2x
  • DB
    • setting
    • join
    • subQuery
    • overview
  • deep-learning
    • neuralNetwork
    • perceptron
    • neuralNetworkLearning
    • convolution neural network
    • Gradient Descent
    • Linear Regression
    • backPropagation
    • logistic regression
    • overview
  • textPreprocessing
    • overview
  • java
    • basics
      • generic
      • Variable
      • String
    • theory
      • Object Oriented Programing
  • NLP
    • Embedding
    • Natural Language Processing
Powered by GitBook
On this page
  • numpy
  • Numpy์˜ ์ฃผ์š” ๋ชจ๋“ˆ
  • np.array()
  • ๋„˜ํŒŒ์ด N์ฐจ์› ๋ฐฐ์—ด
  • ๋„˜ํŒŒ์ด ์‚ฐ์ˆ  ์—ฐ์‚ฐ
  • ndnumpy์˜ ์ดˆ๊ธฐํ™” : zeros(), ones(), full(), eye()
  • np.arange()
  • reshape()
  • ๋ธŒ๋กœ๋“œ ์บ์ŠคํŠธ
  • ๋„˜ํŒŒ์ด ์›์†Œ ์ ‘๊ทผ

Was this helpful?

  1. python

numpy

numpy

: ๋„˜ํŒŒ์ด(Numpy)๋Š” ์ˆ˜์น˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ํŒŒ์ด์ฌ ํŒจํ‚ค์ง€๋กœ์จ, ์ฃผ๋กœ ๋ฐฐ์—ด์ด๋‚˜ ํ–‰๋ ฌ ๊ณ„์‚ฐ์— ์‚ฌ์šฉ๋œ๋‹ค. Numpy์˜ ํ•ต์‹ฌ์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋‹ค์ฐจ์› ํ–‰๋ ฌ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ndarray๋ฅผ ํ†ตํ•ด ๋ฒกํ„ฐ ๋ฐ ํ–‰๋ ฌ์„ ์‚ฌ์šฉํ•˜๋Š” ์„ ํ˜• ๋Œ€์ˆ˜ ๊ณ„์‚ฐ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ. ๋„˜ํŒŒ์ผ ๋ฐฐ์—ด์€ N์ฐจ์› ๋ฐฐ์—ด์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 1์ฐจ์› ๋ฐฐ์—ด, 2์ฐจ์› ๋ฐฐ์—ด, 3์ฐจ์› ๋ฐฐ์—ด ์ฒ˜๋Ÿผ ์›ํ•˜๋Š” ์ฐจ์ˆ˜์˜ ๋ฐฐ์—ด์„ ๋งŒ๋“ค์ˆ˜ ์žˆ๋‹ค. ์ˆ˜ํ•™์—์„œ๋Š” 1์ฐจ์› ๋ฐฐ์—ด์„ ๋ฒกํ„ฐ vector, 2์ฐจ์› ๋ฐฐ์—ด์„ ํ–‰๋ ฌ matrix์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ๋˜ ๋ฒกํ„ฐ์™€ ํ–‰๋ ฌ์„ ์ผ๋ฐ˜ํ™”ํ•œ ๊ฒƒ์„ ํ…์„œ(tensor)๋ผ ํ•œ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ 2์ฐจ์› ๋ฐฐ์—ด์„ ํ–‰๋ ฌ, 3์ฐจ์› ์ด์ƒ์˜ ๋ฐฐ์—ด์„ ๋‹ค์ฐจ์› ๋ฐฐ์—ด์ด๋ผ ํ•œ๋‹ค.

import numpy as np

Numpy์˜ ์ฃผ์š” ๋ชจ๋“ˆ

๋ชจ๋“ˆ

๊ธฐ๋Šฅ

np.array()

๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ, ๋ฐฐ์—ด๋กœ ๋ถ€ํ„ฐ adarray๋ฅผ ์ƒ์„ฑ

np.asarray()

๊ธฐ์กด์˜ array๋กœ ๋ถ€ํ„ฐ adarray๋ฅผ ์ƒ์„ฑ

np.arange()

range์™€ ๋น„์Šท

np.linspace(start, end, num)

[start, end] ๊ท ์ผํ•œ ๊ฐ„๊ฒฉ์œผ๋กœ num๊ฐœ ์ƒ์„ฑ

np.logspace(start, end, num)

[start, end] log scale ๊ฐ„๊ฒฉ์œผ๋กœ num๊ฐœ ์ƒ์„ฑ

np.array()

np.array() ๋Š” ํŒŒ์ด์ฌ์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ธ์ˆ˜๋กœ ๋ฐ›์•„ ๋„˜ํŒŒ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ํŠน์ˆ˜ํ•œ ํ˜•ํƒœ์˜ ๋ฐฐ์—ด (numpy.ndarray)์„ ๋ฐ˜ํ™˜

x = np.array([1.0, 2.0, 3.0])
print(x) #[1, 2, 3]
type(x) <class 'numpy.ndarray'>

๋„˜ํŒŒ์ด N์ฐจ์› ๋ฐฐ์—ด

: ๋„˜ํŒŒ์ด๋Š” 1์ฐจ์› ๋ฐฐ์—ด(1์ค„๋กœ ๋Š˜์–ด์„  ๋ฐฐ์—ด)๋ฟ ์•„๋‹ˆ๋ผ ๋‹ค์ฐจ์› ๋ฐฐ์—ด๋„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค

  • shape : ํ–‰๋ ฌ์˜ ํ˜•์ƒ (์˜ˆ. 2 x 2)

  • ndim : ํ–‰๋ ฌ์˜ ์ฐจ์› ์ถœ๋ ฅ

  • dtype : ํ–‰๋ ฌ์— ๋‹ด๊ธด ์›์†Œ์˜ ์ž๋ฃŒํ˜•

import numpy as np

x = np.array([[1, 2], [3, 4]])
print(x)
# [[1 2]
#  [3 4]]
print(x.shape) # (2, 2)
print(x.ndim) # 2
print(x.dtype) # int32

y = np.array([[3, 0], [0, 6]])
print(x + y) 
# [[ 4  2]
#  [ 3 10]]
print(x * y)
# [[ 3  0]
#  [ 0 24]]

๋„˜ํŒŒ์ด ์‚ฐ์ˆ  ์—ฐ์‚ฐ

import numpy as np

x = np.array([1.0, 2.0, 3.0])
y = np.array([4.0, 5.0, 6.0])
print(x + y) # [5. 7. 9.]
print(x - y) # [-3. -3. -3.]
print(x * y) # [ 4. 10. 18.]
print(x / y) # [0.25 0.4  0.5 ]

Numpy์—์„œ ๋ฒกํ„ฐ์™€ ํ–‰๋ ฌ์˜ ๊ณฑ ๋˜๋Š” ํ–‰๋ ฌ๊ณฑ์„ ์œ„ํ•ด์„œ๋Š” dot()์„ ์‚ฌ์šฉ

a = np.array([[1,2],[3,4]])
b = np.array([[5,6],[7,8]])
c = np.dot(a, b) print(c)
# [[19 22]
#  [43 50]]

ndnumpy์˜ ์ดˆ๊ธฐํ™” : zeros(), ones(), full(), eye()

  • zeros(): ํ•ด๋‹น ๋ฐฐ์—ด์— ๋ชจ๋‘ 0์„ ์‚ฝ์ž…

  • ones() : ํ•ด๋‹น ๋ฐฐ์—ด์— ๋ชจ๋‘ 1์„ ์‚ฝ์ž…

  • full() : ๋ฐฐ์—ด์— ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ •ํ•œ ๊ฐ’์„ ๋„ฃ๋Š”๋ฐ ์‚ฌ์šฉ

  • eye() : ๋Œ€๊ฐ์„ ์œผ๋กœ๋Š” 1์ด๊ณ  ๋‚˜๋จธ์ง€๋Š” 0์ธ ๋ฐฐ์—ด์„ ์ƒ์„ฑ

import numpy as np

a = np.zeros((2, 3))
print(a)
# [[0. 0. 0.]
#  [0. 0. 0.]]

a = np.ones((2, 3))
print(a)
# [[1. 1. 1.]
#  [1. 1. 1.]]

a = np.full((2, 3), 7)
print(a)
# [[7 7 7]
#  [7 7 7]]

a = np.eye(2)
print(a)
# [[1. 0.]
#  [0. 1.]]

np.arange()

numpy.arange(start, stop, step, dtype)
np.arange(n)       # 0๋ถ€ํ„ฐ n-1๊นŒ์ง€ ๋ฒ”์œ„์˜ ์ง€์ •.
np.arange(i, j, k) # i๋ถ€ํ„ฐ j-1๊นŒ์ง€ k์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฐฐ์—ด.
a = np.arange(10) #0๋ถ€ํ„ฐ 9๊นŒ์ง€
print(a) # [0 1 2 3 4 5 6 7 8 9]
a = np.arange(1, 10, 2) #1๋ถ€ํ„ฐ 9๊นŒ์ง€ +2์”ฉ ์ ์šฉ๋˜๋Š” ๋ฒ”์œ„
print(a) # [1 3 5 7 9]

reshape()

: arange(n) ํ•จ์ˆ˜์— ๋ฐฐ์—ด์„ ๋‹ค์ฐจ์›์œผ๋กœ ๋ณ€ํ˜•ํ•˜๋Š” reshape()๋ฅผ ํ†ตํ•ด ๋ฐฐ์—ด์„ ์ƒ์„ฑ

import numpy as np

a = np.array(np.arange(1, 30, 2)).reshape((3,5))
# ์—ฌ๊ธฐ์„œ reshape์˜ ๋ฒ”์œ„๋Š” arange์™€ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค 
print(a)
# [[ 1  3  5  7  9]
#  [11 13 15 17 19]
#  [21 23 25 27 29]]

๋ธŒ๋กœ๋“œ ์บ์ŠคํŠธ

: ์›์†Œ๋ณ„ ๊ณ„์‚ฐ๋ฟ ์•„๋‹ˆ๋ผ ๋„˜ํŒŒ์ผ ๋ฐฐ์—ด๊ณผ ์ˆ˜์น˜ ํ•˜๋‚˜(์Šค์นผ๋ผ๊ฐ’)์˜ ์กฐํ•ฉ์œผ๋กœ ๋œ ์‚ฐ์ˆ ๋กœ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค

import numpy as np
x = np.array([[1, 2], [3, 4]])
y = np.array([10, 20])
print(x + y)

๋„˜ํŒŒ์ด ์›์†Œ ์ ‘๊ทผ

import numpy as np

x = np.array([[1, 2], [3, 4], [5, 6]])
print(x)
print(x[0]) # 0ํ–‰์˜ ์›์†Œ, [1 2]
print(x[0][1]) # (0, 1)์˜ ์›์†Œ, 2

for row in x:
    print(row)
# [1 2]
# [3 4]
# [5 6]

# x๋ฅผ 1์ฐจ์› ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜(ํ‰ํƒ„ํ™”)
y = x.flatten() 
print(y) # [1 2 3 4 5 6]
# ์ธ๋ฑ์Šค๊ฐ€ 0, 2, 4์ธ ์›์†Œ ์–ป๊ธฐ 
print(y[np.array([0, 2, 4])]) # [1 3 5]
PreviouswhileNextprint()

Last updated 4 years ago

Was this helpful?