NumPy 기초
4359 단어 python
배열 만 들 기
list 에서 1 차원 배열 까지
import numpy as np
list_of_ints = [1, 2, 3]
array_1 = np.array(list_of_ints)
array_1
Out[22]:
array([1, 2, 3])
type(array_1)
Out[23]:
numpy.ndarray
array_1.dtype
Out[24]:
dtype('int64')
데이터 형식 을 지정 하여 메모리 크기 를 제어 합 니 다.array_1.nbytes
Out[30]:
24
array_1 = np.array(list_of_ints, dtype='int8')
array_1.nbytes
Out[32]:
3
array_1b = array_1.astype('float32')
array_1b
Out[34]:
array([ 1., 2., 3.], dtype=float32)
array_1b.nbytes
Out[35]:
12
이 구 목록 (데이터 형식 이 다 름)
정밀도 가 높 은 타 입
import numpy as np
complex_list = [1,2,3] + [1.1,2.2,3.3] + ['a','b','c']
array_2 = np.array(complex_list[:3])
print(array_2.dtype)
int64
array_2 = np.array(complex_list[:6])
print(array_2.dtype)
float64
array_2 = np.array(complex_list)
print(array_2.dtype)
|S32
2 차원 배열
import numpy as np
a_list_of_lists = [[1,2,3], [4,5,6], [7,8,9]]
array_2d = np.array(a_list_of_lists)
array_2d
Out[43]:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
배열 의 크기 를 변경 합 니 다 reshape (), resize () 와 shapearray_2d_1 = array_2d.reshape(1,9).copy()
array_2d_1
Out[46]:
array([[1, 2, 3, 4, 5, 6, 7, 8, 9]])
NumPy 함수 로 배열 생산import numpy as np
ordinal_values = np.arange(9).reshape(3,3)
ordinal_values
Out[49]:
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
np.arange(9)[::-1]
Out[51]:
array([8, 7, 6, 5, 4, 3, 2, 1, 0])
np.arange(9)[:-1]
Out[52]:
array([0, 1, 2, 3, 4, 5, 6, 7])
np.zeros((3,3))
Out[53]:
array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])
np.ones((3,3))
Out[54]:
array([[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.]])
np.eye(3)
Out[55]:
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]])
np.linspace(start=0, stop=1, num=10)
Out[56]:
array([ 0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444,
0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ])
growth = np.logspace(start=0, stop=1, num=10, base=10.0)
growth
Out[58]:
array([ 1. , 1.29154967, 1.66810054, 2.15443469,
2.7825594 , 3.59381366, 4.64158883, 5.9948425 ,
7.74263683, 10. ])
np.random.normal(size=(3,3))
Out[59]:
array([[ 1.35884452, 0.40577809, 1.63872935],
[-2.36304665, 0.35944907, 0.58849736],
[ 1.1812921 , 1.12403039, 0.07716541]])
np.random.normal(loc=1.0, scale=3.0, size=(3,3))
Out[61]:
array([[ 4.72521417, 4.08956132, 0.53066751],
[ 1.23055934, -1.30784141, -2.92347621],
[ 2.43437376, 0.54167036, 3.13887534]])
np.random.uniform(low=0.0, high=1.0, size=(3,3))
Out[62]:
array([[ 0.99686131, 0.44151759, 0.19651618],
[ 0.56318673, 0.1481807 , 0.35430769],
[ 0.76847528, 0.76751349, 0.09021368]])
파일 에서 데 이 터 를 불 러 와 배열 을 생 성 합 니 다.np.loadtxt('',delimiter=',',dtype=float)
pandas 에서 데이터 가 져 오기
df.values
Numpy 계산
import numpy as np
a = np.arange(5).reshape(1,5)
a += 1
a*a
Out[66]:
array([[ 1, 4, 9, 16, 25]])
array([[ 1, 4, 9, 16, 25]])
import numpy as np
a = np.arange(5).reshape(1,5) + 1
b = np.arange(5).reshape(5,1) + 1
a*b
Out[67]:
array([[ 1, 2, 3, 4, 5],
[ 2, 4, 6, 8, 10],
[ 3, 6, 9, 12, 15],
[ 4, 8, 12, 16, 20],
[ 5, 10, 15, 20, 25]])
import math
%timeit -n 1 -r 3 [math .sqrt(i) for i in range(10**6)]
1 loop, best of 3: 146 ms per loop
%timeit -n 1 -r 3 np.sqrt(np.arange(10**6))
1 loop, best of 3: 5.73 ms per loop
매트릭스 연산import numpy as np
M = np.arange(5*5, dtype=float).reshape(5,5)
coefs = np.array([1., 0.5, 0.5, 0.5, 0.5])
coefs_matrix = np.column_stack((coefs, coefs[::-1]))
print("M --- ")
print(M)
print("coefs")
print(coefs)
print("dot")
np.dot(M,coefs)
M ---
[[ 0. 1. 2. 3. 4.]
[ 5. 6. 7. 8. 9.]
[ 10. 11. 12. 13. 14.]
[ 15. 16. 17. 18. 19.]
[ 20. 21. 22. 23. 24.]]
coefs
[ 1. 0.5 0.5 0.5 0.5]
dot
Out[80]:
array([ 5., 20., 35., 50., 65.])
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.