numpy array create 创建数组 开始步入 numpy数组的世界

numpy array create: 学习numpy的创建数组是对这个python工具包学习必不可少的入门步骤,之前–a few years ago的文章(numpy 数组属性 区别于 python list 清仓大甩卖)中我们已经对numpy array的属性做了入门级的介绍,本篇我们又要对create numpy array做入门级的介绍了。

我们会用到的函数方法做入门级的介绍,同时会做一些基础级的注意事项说明。

1. 基础创建函数

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
名称描述
object数组或嵌套的数列
dtype数组元素的数据类型,可选
copy对象是否需要复制,可选
order创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok默认返回一个与基类类型一致的数组
ndmin指定生成数组的最小维度
array 参数说明
    # 1、基本创建方式
    a = np.array([3, 4, 5])
    print('a=', a)
    # 2、显式指定纬度
    b = np.array([3, 4, 5], ndmin=1)
    print('b=', b)
    c = np.array([3, 4, 5], ndmin=4)
    print('c=', c)
    # 3、隐式多维度
    d = np.array([[3, 4, 5], [6, 7, 8]])
    print('d=', d)
    # 4、显式多维度
    e = np.array([[3, 4, 5], [6, 7, 8]], ndmin=3)
    print('e=', e)
a= [3 4 5]
b= [3 4 5]
# ndmin的显式指定,4个纬度至少有4层中括号
c= [[[[3 4 5]]]]
d= [[3 4 5]
 [6 7 8]]
e= [[[3 4 5]
  [6 7 8]]]

2.复制、迭代器、指定范围等方式

numpy.asarray(a, dtype = None, order = None)
参数描述
a任意形式的输入参数,可以是,列表, 列表的元组, 元组, 元组的元组, 元组的列表,多维数组
dtype数据类型,可选
order可选,有”C”和”F”两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序。
asarray 参数说明
numpy.fromiter(iterable, dtype, count=-1)
参数描述
iterable可迭代对象
dtype返回数组的数据类型
count读取的数据数量,默认为-1,读取所有数据
fromiter 参数说明

numpy.arange(start, stop, step, dtype)
参数描述
start起始值,默认为0
stop终止值(不包含)
step步长,默认为1
dtype返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型。
arange参数说明
    # 5、通过复制已有数组来创建数组
    f = np.asarray(e, dtype=float)
    print('copy array = ', f)
    # 6、通过传入一个迭代器创建数组
    g = np.fromiter(iter(range(6)), dtype=float)
    print('fromiter = ', g)

    # 7、指定起始范围及步长的方式, 可正序可倒序
    h = np.arange(2, 10, 1.5, dtype=float)
    print('arange = ', h)
    h = np.arange(20, 10, -1.5, dtype=float)
    print('arange = ', h)
copy array =  [[[3. 4. 5.]
  [6. 7. 8.]]]
fromiter =  [0. 1. 2. 3. 4. 5.]
arange =  [2.  3.5 5.  6.5 8.  9.5]
arange =  [20.  18.5 17.  15.5 14.  12.5 11. ]

3.一些特殊的数组

numpy.empty(shape, dtype = float, order = 'C')
参数描述
shape数组形状
dtype数据类型,可选
order有”C”和”F”两个选项,分别代表,行优先和列优先,在计算机内存中的存储元素的顺序。
empty参数说明
numpy.zeros(shape, dtype = float, order = 'C')
参数描述
shape数组形状
dtype数据类型,可选
order‘C’ 用于 C 的行数组,或者 ‘F’ 用于 FORTRAN 的列数组
zeros参数说明
numpy.ones(shape, dtype = None, order = 'C')
参数描述
shape数组形状
dtype数据类型,可选
order‘C’ 用于 C 的行数组,或者 ‘F’ 用于 FORTRAN 的列数组
ones 参数说明
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
参数描述
start序列的起始值
stop序列的终止值,如果endpointtrue,该值包含于数列中
num要生成的等步长的样本数量,默认为50
endpoint该值为 true 时,数列中包含stop值,反之不包含,默认是True。
retstep如果为 True 时,生成的数组中会显示间距,反之不显示。
dtypendarray 的数据类型
linspace等差数列一维数组
np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)
参数描述
start序列的起始值为:base ** start
stop序列的终止值为:base ** stop。如果endpointtrue,该值包含于数列中
num要生成的等步长的样本数量,默认为50
endpoint该值为 true 时,数列中中包含stop值,反之不包含,默认是True。
base对数 log 的底数。
dtypendarray 的数据类型
logspace等比数列一维数组
 # 8、指定形状创建数组
    # 1.空数组
    a = np.empty((3, 3), dtype=float)
    print('empty=', a)
    # 2.元素全是0的数组
    b = np.zeros((3, 3), dtype=int)
    print('zeros=', b)
    # 3.元素全是1的数组
    c = np.ones((2, 3), order='F')
    print('ones=', c)
    # 4.等差数列的一维数组
    d = np.linspace(1, 15, 5, False)
    print('不要尾值,等差 d= ', d)
    d = np.linspace(1, 15, 5, True)
    print('保留尾值,等差 d= ', d)
    # 5.创建等比数列的一维数组
    e = np.logspace(1, 2, 4, base=2.0)
    print('e= ', e)
    e = np.logspace(0, 2, 4)
    print('e= ', e)
empty= [[0.00e+000 0.00e+000 0.00e+000]
 [0.00e+000 0.00e+000 1.86e-321]
 [0.00e+000 0.00e+000 0.00e+000]]
zeros= [[0 0 0]
 [0 0 0]
 [0 0 0]]
ones= [[1. 1. 1.]
 [1. 1. 1.]]
不要尾值,等差 d=  [ 1.   3.8  6.6  9.4 12.2]
保留尾值,等差 d=  [ 1.   4.5  8.  11.5 15. ]
e=  [2.        2.5198421 3.1748021 4.       ]
e=  [  1.           4.64158883  21.5443469  100.        ]

发表回复