使用array创建一维数组

import numpy as np
arr = np.array([1,2,3])
arr

执行结果

array([1, 2, 3])

使用array()创建一个多维数组

arr = np.array([[1,2,3],[4,5,6]])
arr

执行结果

array([[1, 2, 3],
       [4, 5, 6]]) #注意这里是两个[],因为 np.array() 函数应该只接受一个主要参数(通常是列表的列表),不可传入两个独立的列表参数。将两个列表嵌套在一个外层列表中

数组和列表的区别是什么?

-数组中存储的数据元素类型必须是统一类型

-优先级:字符串>浮点型>整数

arr = np.array([1,2.2,'three'])
arr

执行结果

array(['1', '2.2', 'three'], dtype='<U32')

将外部的一张图片读取加载到numpy数组中,然后尝试改变数组元素的数值查看对原始图片的影响

import matplotlib.pyplot as plt img_arr = plt.imread('./1.jpg')
#返回的数组,数组中装载的就是图片内容 plt.imshow(img_arr) 
#将numpy数组进行可视化展示
np.ones(shape = (3,4))      #三行四列

执行结果

array([[1., 1., 1., 1.],
       [1., 1., 1., 1.],
       [1., 1., 1., 1.]])

一维的等差数列数组

np.linspace(0,100,num = 20) 

执行结果

array([  0.        ,   5.26315789,  10.52631579,  15.78947368,
        21.05263158,  26.31578947,  31.57894737,  36.84210526,
        42.10526316,  47.36842105,  52.63157895,  57.89473684,
        63.15789474,  68.42105263,  73.68421053,  78.94736842,
        84.21052632,  89.47368421,  94.73684211, 100.        ])
np.random.randint(0,100,size = (5,3))

执行结果

array([[25, 49, 15],
       [82,  4, 76],
       [80,  8,  5],
       [ 5, 46, 30],
       [ 8, 75, 71]], dtype=int32)
arr = np.random.randint(0,100,size = (5,6))
arr

执行结果

array([[27, 92, 71, 51,  8, 38],
       [16, 46, 96, 98, 48, 66],
       [ 3, 14, 57, 91, 68, 25],
       [52, 40,  8, 25, 70, 31],
       [32, 49, 34, 12,  5, 92]], dtype=int32)
arr.shape #返回的是数组形状
arr.ndim  #返回的是数组的维度
arr.size  #返回的是数组元素的个数
arr.type  #返回的数组元素的类型

创建一个数组,指定数组元素类型为int32

arr = np.array([1,2,3],dtype = 'int32')
arr.dtype

执行结果

dtype('int32')

修改数组的元素类型

arr.dtype = 'uint8'

输出结果

arr.dtype
dtype('uint8')

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐