import numpy as np
a = np.array([1, 2, 3])
a
type(a)
import numpy as np
a = np.array([[1.5, 2, 3], [4, 5, 6]], dtype=np.int16)
print(a.ndim)
print(a.shape)
print(a.size)
print(a.dtype)
z = np.zeros((5, 5))
print(z)
'''array([[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],])'''
o = np.ones((2, 2, 2))
print(o)
'''array([[[ 1., 1.],
[ 1., 1.]],
[[ 1., 1.],
[ 1., 1.]]])'''
e = np.eye(5)
print(e)
'''array([[ 1., 0., 0., 0., 0.],
[ 0., 1., 0., 0., 0.],
[ 0., 0., 1., 0., 0.],
[ 0., 0., 0., 1., 0.],
[ 0., 0., 0., 0., 1.]])'''
a= np.arange(10, 30, 5)
print(a) #array([10, 15, 20, 25])
l= np.linspace(0, 2, 9)
print (l) #array([ 0. , 0.25, 0.5 , 0.75, 1. , 1.25, 1.5 , 1.75, 2. ])
def f1(i, j):
return 3 * i + j
f = np.fromfunction(f1, (3, 4))
print(f)
'''array([[ 0., 1., 2., 3.],
[ 3., 4., 5., 6.],
[ 6., 7., 8., 9.]])'''
a= np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]])
# первый элемен
print(a[0, 0])
# первая строка
print(a[0,:])
# первый столбец
print(a[:,0])
# выбор элементов с шагом 2
print(a[:,::2])
# выбор элементы первой строки четных столбцов
print(a[0,1::2])
# выбор элементы первой строки четных столбцов с обратной индексацией
print(a[0,1::2][::-1])
# выбор элементов первого и последнего столбца
print(a[:,[0,-1]])
# выбор элементов на пересечении строк и столбцов
print(a[[2, 4]][:,[0,1]])
a= np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
print(a)
'''array[[ 1 2 3 4 5]
[ 6 7 8 9 10]]'''
print(a.reshape(5,2))
'''array [[ 1 2]
[ 3 4]
[ 5 6]
[ 7 8]
[ 9 10]]'''
a= np.array([[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12]])
print(a)
'''array [[ 1 2 3 4 5 6]
[ 7 8 9 10 11 12]]'''
print(a.reshape(3, 2, 2))
'''array [[[ 1 2]
[ 3 4]]
[[ 5 6]
[ 7 8]]
[[ 9 10]
[11 12]]]'''
print(a.reshape(2, 2, -1)) # автоматическое вычисление размерности
'''array [[[ 1 2 3]
[ 4 5 6]]
[[ 7 8 9]
[10 11 12]]]'''
a= np.array([[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12]])
print(a.ravel())
# [ 1 2 3 4 5 6 7 8 9 10 11 12]
print(a.T)
'''[[ 1 7]
[ 2 8]
[ 3 9]
[ 4 10]
[ 5 11]
[ 6 12]]'''
a = np.array([1, 2, 3, 4, 5, 6])
b = np.array([1, 2, 3, 4, 5, 6])
print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a**b)
# Наименьшее число в каждом столбце
print(a.min(axis=0))
# Наименьшее число в каждой строке
print(a.min(axis=1))
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
np.vstack((a, b))
'''[[1, 2],
[3, 4],
[5, 6],
[7, 8]]'''
np.hstack((a, b))
'''[[1, 2, 5, 6],
[3, 4, 7, 8]]'''
a = np.arange(12).reshape((2, 6))
# Разбить на 3 части
print(np.hsplit(a, 3))
# Разрезать a после третьего и четвёртого столбца
print(np.hsplit(a, (3, 4)))