【python】import numpy as np

numpy

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]])

array

numpy 模块的 array 函数可以生成多维数组。例如,如果要生成一个二维数组,需要向 array 函数传递一个列表类型的参数。每一个列表元素是一维的 ndarray 类型数组,作为二维数组的行。另外,通过 ndarray 类的 shape 属性可以获得数组每一维的元素个数(元组形式), 也可以通过 shape[n]形式获得每一维的元素个数,其中 n 是维度,从 0 开始。

数组默认要求:每行元素数量相等。

parameters:

  • object:数组或嵌套的数列
  • dtype:数组元素的数据类型,可选
  • copy:对象是否需要复制,可选
  • order:创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
  • subok:默认返回一个与基类类型一致的数组
  • ndmin:指定生成数组的最小维度
import numpy as np 
a=np.array([1,2,3,4,5,6],ndmin=3) 
print(a)
# output
[[[1 2 3 4 5 6]]]

ndarray

属性方法:

  • ndarray.shape:返回数组维度的元组
  • ndarray.ndim:返回数组维数
  • ndarray.size:返回数组中的元素数量
  • ndarray.itemsize:一个数组元素的长度(字节)
  • ndarray.dtype:数组元素的类型
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) 	# 三维数组

生成0和1的数组

  • np.ones(shape, dtype)
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.]]]
  • np.ones_like(a, dtype)
import numpy as np

a=np.zeros([2,3,1])
ones=np.ones_like(a)
print(a)
# output
[[[0.]
  [0.]
  [0.]]

 [[0.]
  [0.]
  [0.]]]
  • np.zeros(shape, dtype)
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.]]]
  • np.zeros_like(a, dtype)
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.]]]

创建一个制定形状的数组,不初始化

  • np.empy()
    numpy.empty 方法用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的 数组,里面的元素的值是之前内存的值:
numpy.empty(shape, dtype = float, order = 'C')
  • shape:数组形状
  • dtype:数组类型
  • order:C,行优先;F列优先
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]]]

创建一个指定形状的数组,不初始化-2

-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]]

np.arrange

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

完整输出numpy

np.set_printoptions(threshold=np.nan)
# or
import sys
np.set_printoptions(threshold=sys.maxsize)

你可能感兴趣的:(python,numpy,python,开发语言)