numpy2
numpy2
小贾嗯嗯numpy
1、属性
array=np.array([[1,2,3],[4,5,6]])
构建数组array.ndim
数组的维数array.shape
数组的形状(几行几列)array.size
数组的大小
2、矩阵的构建
np.array([2,3,4],dtype=np.int)
dtype矩阵的数据类型array.dtype
数据类型np.zeros((3,4))
三行四列全部为0的矩阵np.ones((3,4))
三行四列全部为1的矩阵np.empty((3,4))
三行四列的为空的矩阵[[0.0e+000] [0.0e+000] [1.6e-322]]
1
2
3
4
5
6
7
8
9
10
11
12
- ```np.arange(10,20,2)```指定范围和步长的矩阵,不包括20
- ```np.arange(12).reshape((3,4))```重新定义矩阵形状
- ```np.linspace(1,10,20)```从1到10范围内平均分成20段构建矩阵
- ```python
[ 1. 1.47368421 1.94736842 2.42105263 2.89473684 3.36842105
3.84210526 4.31578947 4.78947368 5.26315789 5.73684211 6.21052632
6.68421053 7.15789474 7.63157895 8.10526316 8.57894737 9.05263158
9.52631579 10. ]
3、基础运算
加法/减法/乘法/除法/幂
a=np.array([10,20,30,40]) b=np.arange(4) c=a+b/a-b
1
2
3
4
5
- ```python
c=a*b
c=a/b
c=a**bc=np.sin(a) c=np.cos(a) c=np.tan(a)
1
2
3
4
5
6
- 判断
- ```python
b<3
[True True True False]
矩阵
a=np.array([[1,1],[0,1]]) b=np.arange(4).reshape((2,2)) c=a*b //逐个相乘 c=np.dot(a,b) //矩阵相乘,行X列 c=a.dot(b) //同上
1
2
3
4
5
6
7
8
- ```python
a=np.random.random((2,4)) //随机生成一个2行4列的矩阵(范围0~1)
array([[0.88043011, 0.51304377, 0.87026383, 0.84828964],
[0.1590715 , 0.00240416, 0.47297475, 0.55885749]])
np.sum(a,axis=1) //axis维度,1为水平方向,0为竖直方向
np.min(a)
np.max(a)a=np.arange(2,14).reshape((3,4)) np.argmin(a) //最小值索引 np.argmax(a) //最大值索引 np.mean(a) //平均值 np.average(a) //同上 np.median(a) //中位数 np.cumsum(a) //累加 //array([ 2, 5, 9, 14, 20, 27, 35, 44, 54, 65, 77, 90]) np.diff(a) //累差 //array([[1, 1, 1], [1, 1, 1], [1, 1, 1]]) np.nonzero(a) //非0 np.sort(a) //排序,逐行排序 np.transpose(a) //矩阵的转置 a.T //同上 np.clip(a,5,9) //小于5的变成5,大于9的变成9,位于5~9的保持不变
1
2
3
4
5
6
7
8
9
### 4、索引
```python
a=np.arange(3,15)
print(a[2])
print(a[2,:]) //第二行
print(a[:,1]) //第一列
print(a[1,1:2]) //第一行第一个到第二个
1 | a.flat //每一项(对象) |
5、合并
1 | a=np.array([1,1,1]) |
6、分割
1 | a=np.arange(12).reshape((3,4)) |
7、复制
1 | b=a.copy() //赋值,但不关联(浅复制) |
评论
匿名评论隐私政策