科学计算我们经常用到矩阵和矢量。这里矩阵可以用数组形式定义,矢量可以用结构定义
1.矢量运算:相同大小的数组间运算应用在元素上
# 矢量与矢量运算
arr = np.array([[1, 2, 3],
[4, 5, 6]])
print("元素相乘:")
print(arr * arr)
print("矩阵相加:")
print(arr + arr)
结果:
元素相乘:
[[ 1 4 9]
[16 25 36]]
矩阵相加:
[[ 2 4 6]
[ 8 10 12]]
- 矢量和标量运算:“广播” - 将标量"广播"到各个元素
arr = np.array([[1, 2, 3],
[4, 5, 6]])
# 矢量与标量运算
print(1. / arr)
print(2. * arr)
结果:
[[ 1. 0.5 0.33333333]
[ 0.25 0.2 0.16666667]]
[[ 2. 4. 6.]
[ 8. 10. 12.]]
ndarray的索引与切片
1.一维数组的索引与切片
# 一维数组
arr1 = np.arange(10)
print(arr1)
print(arr1[2:5])
结果:
[0 1 2 3