Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度的数组。
Numpy支持常见的数组和矩阵操作。对于同样的数值计算任务,使用Numpy比直接使用Python要简洁的多。
Numpy使用 ndarray
对象来处理多维数组,该对象是一个快速而灵活的大数据容器。
import numpy as np
# 创建ndarray
score = np.array(
[[80, 89, 86, 67, 79],
[78, 97, 89, 67, 81],
[90, 94, 78, 67, 74],
[91, 91, 90, 67, 69],
[76, 87, 75, 67, 86],
[70, 79, 84, 67, 84],
[94, 92, 93, 67, 64],
[86, 85, 83, 67, 80]])
score
# 输出
array([[80, 89, 86, 67, 79],
[78, 97, 89, 67, 81],
[90, 94, 78, 67, 74],
[91, 91, 90, 67, 69],
[76, 87, 75, 67, 86],
[70, 79, 84, 67, 84],
[94, 92, 93, 67, 64],
[86, 85, 83, 67, 80]])
numpy 模块的 array 函数可以生成多维数组。例如,如果要生成一个二维数组,需要向 array 函数传递一个列表类型的参数。每一个列表元素是一维的 ndarray 类型数组,作为二维数组的行。另外,通过 ndarray 类的 shape 属性可以获得数组每一维的元素个数(元组形式), 也可以通过 shape[n]形式获得每一维的元素个数,其中 n 是维度,从 0 开始。
数组默认要求:每行元素数量相等。
parameters:
import numpy as np
a=np.array([1,2,3,4,5,6],ndmin=3)
print(a)
# output
[[[1 2 3 4 5 6]]]
属性方法:
import numpy as np
import numpy as np
a=np.array([[1,2,3],[4,5,6]])
b=np.array([1,2,3,4])
c=np.array([[[1,2],[3,4],[5,6],[7,8]],[[1,2],[3,4],[5,6],[7,8]]])
print(a.shape)
print(b.shape)
print(c.shape)
# output
(2, 3) # 二维数组
(4,) # 一维数组
(2, 4, 2) # 三维数组
import numpy as np
ones=np.ones([2,3,4])
print(ones)
# output
[[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]
[[1. 1. 1. 1.]
[1. 1. 1. 1.]
[1. 1. 1. 1.]]]
import numpy as np
a=np.zeros([2,3,1])
ones=np.ones_like(a)
print(a)
# output
[[[0.]
[0.]
[0.]]
[[0.]
[0.]
[0.]]]
import numpy as np
zeros=np.zeros([2,3,4])
print(zeros)
[[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]]
import numpy as np
a=np.ones([2,3,3])
zeros=np.zeros_like(a)
print(a)
# output
[[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]]
numpy.empty(shape, dtype = float, order = 'C')
import numpy as np
a=np.empty([3,2,4])
print(a)
#output
[[[6.23042070e-307 1.89146896e-307 1.37961302e-306 1.05699242e-307]
[1.95821439e-306 7.56598449e-307 1.11261027e-306 1.24610383e-306]]
[[1.69118108e-306 8.06632139e-308 1.20160711e-306 1.69119330e-306]
[1.29062229e-306 1.60217812e-306 1.37961370e-306 8.45592576e-307]]
[[1.37961981e-306 1.42418172e-306 2.04712906e-306 7.56589622e-307]
[1.11258277e-307 8.90111708e-307 3.22643519e-307 9.79103798e-307]]]
-np.random.ramdom_sample()
import numpy as np
a = np.random.random_sample((3,4))
print(a)
# output
[[0.04997798 0.77390955 0.93782363 0.5792328 ]
[0.53516563 0.80204309 0.24814448 0.59096694]
[0.32950282 0.98797985 0.86846315 0.16452144]]
a = np.arange(4.); print(f"np.arange(4.): a = {a}, a shape = {a.shape}, a data type = {a.dtype}")
a = np.random.rand(4); print(f"np.random.rand(4): a = {a}, a shape = {a.shape}, a data type = {a.dtype}")
# output
np.arange(4.): a = [0. 1. 2. 3.], a shape = (4,), a data type = float64
np.random.rand(4): a = [0.11806417 0.07001424 0.32127946 0.76023838], a shape = (4,), a data type = float64
np.set_printoptions(threshold=np.nan)
# or
import sys
np.set_printoptions(threshold=sys.maxsize)