Python - numpy(계산을 빠르게 하기 위한 패키지)
2020. 9. 2. 20:44ㆍPython
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이다. 좀 더 깊게 배워서 많은 것들을 해보고 싶다.
'Python' 카테고리의 다른 글
Python - pandas(numpy기반의 복잡한 데이터분석을 위한 패키지) (0) | 2020.09.02 |
---|---|
Python - matplotlib (데이터를 시각화 해주는 패키지) (0) | 2020.09.02 |
Python - 모듈 (0) | 2020.09.02 |
Python - 파일 입출력, print(),input() (0) | 2020.09.02 |
Python - Exception (0) | 2020.09.02 |