python创建长度为n的数组_使用numpy库创建N纬数组(ndarray)的四种创建方法

00:00

python创建长度为n的数组_使用numpy库创建N纬数组(ndarray)的四种创建方法_第1张图片

©️北京理工嵩天

Note:Numpy是一个开源的python科学计算的基础库。下面分享ndarray创建数组的方式

1、从Python中的列表(list)、元组(tuple)或列表与元组混合类型进行ndarray数组创建

example:a=np.array(list/tuple,dtype=np.float32)

(ps:列表、数组都是表示一组数据的有序结构的数据类型,但是列表内元素数据类型可以不同;但是数组内的元素必须数据类型相同。a = np.array([2,3,4])

// 打印结果:

[2 3 4]

b = np.array((2,3,5))

// 打印结果:

[2 3 5]

如果打印其类型则为 int64 (ps:我使用的计算机为64位计算机,未指定数据类型则根据数据情况关联一种数据类型),另外需要注意的是 生成的ndarray内的基础数据元素之间由空格隔开。轴(axis)用来保存数据的纬度,秩(rank)用来表示轴的数量。在上边案例中,每个轴上有3个纬度,每个秩上有2个纬度。a = np.array([(0, 4, 2, 3),[1, 2, 3., 4], (3, 2, 1, 5)])

print(a)

print(a.ndim, a.shape, a.size, a.dtype, a.itemsize)

//打印结果:

[[0. 4. 2. 3.]

[1. 2. 3. 4.]

[3. 2. 1. 5.]]

// 打印如下五个属性

2 (3, 4) 12 float64 8

打印结果为64位浮点型数据类型,在axis 2轴([1, 2, 3., 4]),第三个元素为:“3.”浮点型数据类型。属性见:数组属性

2、使用NumPy函数创建,比如:可以使用arange函数、ones函数、zeros函数

python创建长度为n的数组_使用numpy库创建N纬数组(ndarray)的四种创建方法_第2张图片a=np.arange(5)

b=np.ones((2,3))

c=np.zeros((4,2))

d=np.full((3,4),7)

e=np.eye(3)

PS:ones 、zeros、 full函数内 shape 注意 别写成[],当然我测试中 并未报错,不过养成习惯吧,针对 shape 中括号 还是  圆括号 可以在评论区讨论。

输出结果如下[0 1 2 3 4]

[[1. 1. 1.]

[1. 1. 1.]]

[[0. 0.]

[0. 0.]

[0. 0.]

[0. 0.]]

[[7 7 7 7]

[7 7 7 7]

[7 7 7 7]]

[[1. 0. 0.]

[0. 1. 0.]

[0. 0. 1.]]

观察发现:ones zeros eye 三个函数生成的多纬数组中元素类型为 浮点型

再测试一个多维度的比如shape 为(2,3,4)吧a = np.ones((2,3,4))

print(a)

打印结果如下:[[[1. 1. 1. 1.]

[1. 1. 1. 1.]

[1. 1. 1. 1.]]

[[1. 1. 1. 1.]

[1. 1. 1. 1.]

[1. 1. 1. 1.]]]

另外还有一种创建类型 在大规模数据运算中常用到的

python创建长度为n的数组_使用numpy库创建N纬数组(ndarray)的四种创建方法_第3张图片

比如给定数组a:[[1, 2, 3, 4],[2, 3, 4, 5]]a = np.ones_like([[1, 2, 3, 4],[2, 3, 4, 5]])

print(a)

打印出ndarray多纬数组类型的结果如下:[[1 1 1 1]

[1 1 1 1]]

python创建长度为n的数组_使用numpy库创建N纬数组(ndarray)的四种创建方法_第4张图片a = np.linspace(1,10,4)

print(a)

打印结果如下:

[ 1.  4.  7. 10.]

需要注意 不指定数据类型 生成定默认为浮点型数据类型

将上述a数组与[2,3,4]数组合并为b数组

b=np.concatenate((a,[2,3,4]))

print(b)

结果如下:

[ 1.  4.  7. 10.  2.  3.  4.]

3、使用字节流创建ndarray创建n维数组

4、从文件读取数据创建n纬数组

你可能感兴趣的:(python创建长度为n的数组)