文章目录
创建数组
如何使用list生成一维(多维)数组
>>> x = np.array([1.0, 2.0, 3.0])
>>> print(x)
[ 1. 2. 3.]
>>> type(x)
<class 'numpy.ndarray'>
#多维数组
>>> A = np.array([[1, 2], [3, 4]])
>>> print(A)
[[1 2]
[3 4]]
数组基本操作
加减乘除
如何让数组内各个元素对应地进行加减乘除
>>> x = np.array([1.0, 2.0, 3.0])
>>> y = np.array([2.0, 4.0, 6.0])
>>> x + y # 对应元素的加法
array([ 3., 6., 9.])
>>> x - y
array([ -1., -2., -3.])
>>> x * y # element-wise product
array([ 2., 8., 18.])
>>> x / y
array([ 0.5, 0.5, 0.5]
什么是numpy的broadcast(广播)机制?
一个数组和单一数字(或者维度不够的数组)进行运算,会自动将该数字(或者维度不够的数组)扩充到和目标数组维度相同
>>> x = np.array([1.0, 2.0, 3.0])
>>> x / 2.0
array([ 0.5, 1. , 1.5])
数组基本操作
查看数组的size,元素的数据类型
>>> A.shape
(2, 2)
>>> A.dtype
dtype('int64')
按行依次查询数组内容
X = np.array([[51, 55], [14, 19], [0, 4]])
for a in X:
print(a)
将多维数组转换为一维数组
>>> X = X.flatten() # 将X转换为一维数组
>>> print(X)
[51 55 14 19 0 4]
根据索引(index)查找元素
>>> X[np.array([0, 2, 4])] # 获取索引为0、 2、 4的元素
array([51, 14, 0])
根据元素的值的范围查找元素
>>> X > 15
array([ True, True, False, True, False, False], dtype=bool)
>>> X[X>15]
array([51, 55, 19])