Python - numpy(계산을 빠르게 하기 위한 패키지)

2020. 9. 2. 20:44Python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# test21.py
 
# numpy 패키지 설치
# 파이썬에서 과학연산(배열)쉽고 빠르게 하는 패키지
# 다차원 배열을 효과적으로 관리
# www.numpy.org
 
import numpy as np
# 리스트 생성
data1=[0,1,2,3,4,5]
# numpy 배열
a1=np.array(data1)
print(a1)
print(a1.dtype)  # int32
 
a2=np.array([0.5,2,0.01,8])
print(a2)
print(a2.dtype)  # float64
 
a3=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a3)
 
a4=np.arange(0,11,2)
print(a4)
 
a5=np.arange(5)   #arange(0,5,1)
print(a5)  #[0 1 2 3 4]
 
# 차원 변경가능
a6=np.arange(12).reshape(4,3)
print(a6)
print(a6.shape)  #(4, 3)
 
# 1~10까지 10개 일정한 간격으로 데이터 만듬
a7=np.linspace(1,10,10)
print(a7)  #[ 1.  2.  3.  4.  5.  6.  7.  8.  9. 10.]
# 배열 0으로 10개 만듬
a8=np.zeros(10)
print(a8)  #[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
# 배열 1로   5개 만듬
a9=np.ones(5)
print(a9)  #[1. 1. 1. 1. 1.]
 
#타입변환  문자 => float
str_a1=np.array(['1.567','5.123','9','8'])
num_a1=str_a1.astype(float)
print(num_a1)  # [1.567 5.123 9.    8.   ]
 
# 난수발생
ran_a1=np.random.randint(10,size=(3,4))
print(ran_a1)
# [[9 9 9 7]
#  [0 2 8 7]
#  [8 4 6 5]]
 
# 배열 연산
arr1=np.array([10,20,30,40])
arr2=np.array([1,2,3,4])
print(arr1+arr2)  #[11 22 33 44]
print(arr1>20)  #[False False  True  True]
 
# 통계 연산
arr3=np.arange(5)
print(arr3)  #[0 1 2 3 4]
print(arr3.sum())  #10
print(arr3.mean())
print(arr3.min())
print(arr3.max())
print(arr3.std())
print(arr3.var())
 
 
cs

file - setting - 파이썬 프로젝트에 들어가서 + 버튼을 눌러 numpy를 검색하여서 install을 하여서 간단하게

패키지를 다운 받아 적용을 할 수 있었고, 계산을 빠르고 간단하게 도와주는 여러 함수들이 내장되어 있어서 간단하게 만들 수 있었고 빠르게 여러 결과물들을 볼 수 있었다. 인공지능과 빅데이터를 파이썬으로 다룬다고 하는데 이런 패키지들이 있다면 충분히 가능할 것 같다는 생각이 들었다. 내 생각보다 훨씬 만능인 거 같은 Python이다. 좀 더 깊게 배워서 많은 것들을 해보고 싶다.