numpy学习(一)

心已入冬 提交于 2020-02-21 10:12:49

numpy学习(一)

import numpy as np
#定义一个数组
arr=np.array([[1,2,3],[2,3,4]])
print(arr)
[[1 2 3]
 [2 3 4]]
#数组的维数
arr.ndim
2
#数组几行几列
arr.shape
(2, 3)
#数组的长度
arr.size
6
#定义类型 int64/32 float32/64     32和64的区别在于精度
a=np.array([1,25,5],dtype=np.float32)
print(a)
[ 1. 25.  5.]
#生成0矩阵  括号内是几行几列
np.zeros((3,4))
array([[0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.]])
#生成全是1的矩阵
np.ones((3,4),dtype=np.int16)
array([[1, 1, 1, 1],
       [1, 1, 1, 1],
       [1, 1, 1, 1]], dtype=int16)
#生成空矩阵
print(np.empty((3,4)))
[[1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]]
#生成有序数列   (起始位置,结束位置但不包含结束位置,步长)
a=np.arange(10,22,2)
a
array([10, 12, 14, 16, 18, 20])
#将a矩阵重新定义为新的矩阵
a.reshape((2,3))
array([[10, 12, 14],
       [16, 18, 20]])
#生成线段  (起始位置,结束位置,分成几段)
a=np.linspace(1,10,5)
print(a)
[ 1.    3.25  5.5   7.75 10.  ]
a=np.array([1,2,3])
b=np.array([2,4,5])
a*b
array([ 2,  8, 15])
a+b
array([3, 6, 8])
a-b
array([-1, -2, -2])
10*np.sin(a)
array([8.41470985, 9.09297427, 1.41120008])
10*np.tan(a)
array([ 15.57407725, -21.85039863,  -1.42546543])
10*np.arctan(a)
array([ 7.85398163, 11.07148718, 12.49045772])
#a里面小于3的数
a<3
array([ True,  True, False])
c=np.array([[1,2],[7,8]])
arr=np.array([[3,4],[5,6]])
#普通乘法
arr*c
array([[ 3,  8],
       [35, 48]])
#矩阵乘法
np.dot(arr,c)
c.dot(arr)
array([[13, 16],
       [61, 76]])
#随机生成矩阵 (行,列)
arr=np.random.random((2,4))
arr
array([[0.56470368, 0.41067008, 0.15386721, 0.34974939],
       [0.55368345, 0.59453843, 0.21788333, 0.12198785]])
np.sum(arr)
2.967083425919822
#每行计算一次
np.sum(arr,axis=1)
array([1.47899036, 1.48809307])
#每列计算一次
np.sum(arr,axis=0)
array([1.11838713, 1.00520851, 0.37175054, 0.47173724])
#求最大值,其余操作同上
np.max(arr)
0.5945384330210628

第一期结束

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!