Numpy库基础

•ndarray一个强大的N维数组对象Array

ndarray的建立(元素默认浮点数)

  • 可以利用list列表建立ndarray
import numpy as np
list =[0,1,2,3]
从列表类型建立
x = np.array(list)
print(x)
#[0 1 2 3]
  • 可以利用tuple元组建立ndarray
import numpy as np
从元组类型建立
x = np.array((4,5,6,7))
print(x)
#[4 5 6 7]
  • 可以从列表和元组混合类型创建(所包含数据个数相同就可混合使用,一般不建议)
x = np.array([list,(4,5,6,7)],dtype=np.float32)
print(x)
#[0,1,2,3,4,5,6,7]
  • 利用arange(类似range)
 x = np.arange(10)
print(x)
#[0 1 2 3 4 5 6 7 8 9]
  • .ones((n,m)) 生成全1的n*m的数组
x = np.ones((3,6))
print(x)
#[[1. 1. 1. 1. 1. 1.]
# [1. 1. 1. 1. 1. 1.]
#[1. 1. 1. 1. 1. 1.]]

x = np.ones((3,4,5))
print(x)
#[[[1. 1. 1. 1.]
#  [1. 1. 1. 1.]
#  [1. 1. 1. 1.]]

# [[1. 1. 1. 1.]
#  [1. 1. 1. 1.]
#  [1. 1. 1. 1.]]]
  • .zeros((n,m))生成全0的n*m的数组
x = np.zeros((3,6),dtype = np.int32)
print(x)
#[[0 0 0 0 0 0]
# [0 0 0 0 0 0]
# [0 0 0 0 0 0]]
  • .eye(n)生成对角线为1,其余全为0的方阵
x = np.eye(5)
print(x)
#[[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.]]
  • .full(shape,vale)生成一个shape的矩阵,每个元素都是val
x = np.full((3,4),5)
print(x)
#[[5 5 5 5]
# [5 5 5 5]
# [5 5 5 5]]
  • .ones_like(x)根据数组x的shape形成一个全为1的数组
x = full((3,4),5)
a = np.ones_like(x)
print(a)
#[[1 1 1 1]
# [1 1 1 1]
# [1 1 1 1]]
  • .zeros_likes(x)根据数组x的shape形成一个全为0的数组
x = full((3,4),5)
a = np.zeros_like(x)
print(a)
#[[0 0 0 0]
# [0 0 0 0]
# [0 0 0 0]]
  • .full_likes(x)根据数组x的形状生成一个数组,值为val
x = full((3,4),5)
a = np.full_like(x,0)
print(a)
#[[0 0 0 0]
# [0 0 0 0]
# [0 0 0 0]]
  • .linespace(begin,end,val,endpoint)根据起止数据等距的填充数据,形成数组
#endpoint默认为True,表示end是其中的元素
x = np.linespace(1,10,4)
print(x)
#[ 1.  4.  7. 10.]
#endpoint为False,表示end不是其中的元素
x = np.linespace(1,10,4,endpoint=True)
print(x)
#[1.   3.25 5.5  7.75]
  • .concatenate()将两个或多个数组合并成一个新的数组,axis默认为0

 

#二维
x = np.full((1,2),5)
a = np.ones_like(x)
print(x)
#[[5 5]]
print(a)
#[[1 1]]
x = np.concatenate((a,x))
#[[1 1]
# [5 5]]
print(x)
#三维
x = np.full((2,2,2),5)
a = np.ones_like(x)
print(x)
#[[[5 5]
#  [5 5]]
#
# [[5 5]
#  [5 5]]]
print(a)
#[[[1 1]
#  [1 1]]
#
# [[1 1]
#  [1 1]]]
x = np.concatenate((a,x),axis=1)
print(x)
#[[[1 1]
#  [1 1]
#  [5 5]
#  [5 5]]
#
# [[1 1]
#  [1 1]
#  [5 5]
#  [5 5]]]
#二维
x = np.full((1,2),5)
a = np.ones_like(x)
print(x)
#[[5 5]]
print(a)
#[[1 1]]
x = np.concatenate((a,x))
#[[1 1]
# [5 5]]
print(x)
#三维
x = np.full((2,2,2),5)
a = np.ones_like(x)
print(x)
#[[[5 5]
#  [5 5]]
#
# [[5 5]
#  [5 5]]]
print(a)
#[[[1 1]
#  [1 1]]
#
# [[1 1]
#  [1 1]]]
x = np.concatenate((a,x),axis=1)
print(x)
#[[[1 1]
#  [1 1]
#  [5 5]
#  [5 5]]
#
# [[1 1]
#  [1 1]
#  [5 5]
#  [5 5]]]
#二维
x = np.full((1,2),5)
a = np.ones_like(x)
print(x)
#[[5 5]]
print(a)
#[[1 1]]
x = np.concatenate((a,x))
#[[1 1]
# [5 5]]
print(x)
#三维
x = np.full((2,2,2),5)
a = np.ones_like(x)
print(x)
#[[[5 5]
#  [5 5]]
#
# [[5 5]
#  [5 5]]]
print(a)
#[[[1 1]
#  [1 1]]
#
# [[1 1]
#  [1 1]]]
x = np.concatenate((a,x),axis=1)
print(x)
#[[[1 1]
#  [1 1]
#  [5 5]
#  [5 5]]
#
# [[1 1]
#  [1 1]
#  [5 5]
#  [5 5]]]
#二维
x = np.full((1,2),5)
a = np.ones_like(x)
print(x)
#[[5 5]]
print(a)
#[[1 1]]
x = np.concatenate((a,x))
#[[1 1]
# [5 5]]
print(x)
#三维
x = np.full((2,2,2),5)
a = np.ones_like(x)
print(x)
#[[[5 5]
#  [5 5]]
#
# [[5 5]
#  [5 5]]]
print(a)
#[[[1 1]
#  [1 1]]
#
# [[1 1]
#  [1 1]]]
x = np.concatenate((a,x),axis=1)
print(x)
#[[[1 1]
#  [1 1]
#  [5 5]
#  [5 5]]
#
# [[1 1]
#  [1 1]
#  [5 5]
#  [5 5]]]

 

 

 

 

 

上一篇:Qt 获取文件路径、文件名、后缀


下一篇:基于Kintex-7 FPGA的CameraLink视频开发案例|Kintex-7/ZYNQ,支持Base与Full模式