这个100题系列来源于
github上
的题目,分为4
天完成,主要介绍的是numpy
的常见操作。
1 | # 导入numpy包 |
1 | # 查看版本 |
1 | 1.16.3 |
1 | # 创造全0矩阵 |
1 | array([[0., 0., 0., 0., 0.], |
1 | # 查看数组内存大小 |
1 | 200 bytes |
1 | Z.itemsize |
1 | 8 |
1 | # 修改数组指定位置的值 |
1 | array([0., 0., 0., 0., 5., 0., 0., 0., 0., 0.]) |
1 | # 如何反转数组 |
1 | array([20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10]) |
1 | # 改变数组形状 |
1 | array([[0, 1, 2], |
1 | # 创建非0数组:自动将数组中的0去掉 |
1 | (array([0, 1, 4], dtype=int64),) |
1 | # 创建单位矩阵 |
1 | array([[1., 0., 0.], |
1 | # 找出数组中的最大和最小值 |
1 | 0.00804609668099976 0.9958444566621576 |
1 | # 求平均值 |
1 | 0.5543031427314672 |
1 | # 行中的索引为1到索引为-2(含头不含尾),列同样,赋值为0 |
1 | array([[1., 1., 1., 1., 1., 1., 1., 1., 1., 1.], |
1 | # 数组外围的填充 |
1 | array([[0., 0., 0., 0., 0., 0., 0., 0., 0.], |
1 | # nan的神器之处 |
1 | nan |
1 | Z = np.diag(1+np.arange(4),k=1) |
1 | [[0 1 0 0 0] |
1 | Z = np.diag(1+np.arange(4),k=-1) # 观察k值的变化 |
1 | [[0 0 0 0 0] |
1 | Z = np.diag(1+np.arange(4),k=-2) |
1 | [[0 0 0 0 0 0] |
1 | Z = np.zeros((8,8),dtype=int) |
1 | [[0 1 0 1 0 1 0 1] |
1 | print(np.unravel_index(99,(6,7,8))) |
1 | (1, 5, 3) |
1 | Z = np.tile( np.array([[0,1],[1,0]]), (4,4)) |
1 | [[0 1 0 1 0 1 0 1] |
1 | Z = np.random.random((5,5)) |
1 | [[ 1.41352327 -1.10568196 0.42998927 -1.13603058 1.6252364 ] |
1 | # 数组的点乘 |
1 | [[3. 3.] |
1 | # 条件表达式的使用 |
1 | [ 0 1 2 3 -4 -5 -6 -7 -8 9 10] |
1 | Z = np.arange(11) |
1 | [ 0 1 2 3 10 10 10 10 10 10 10] |