Python——-numpy

首页 » 数据科学库 » 正文

numpy基本用法:

使用numpy创建array: 

a = np.array([2, 23, 4])

使用numpy创建矩阵:

array = np.array([[1, 2, 3],
                  [2, 3, 4]])

使用numpy创建三行四列的矩阵:

a = np.zeros((3,4))

使用numpy创建0-12三行四列的矩阵:

a = np.arange(12).reshape((3,4))
print(a)

使用numpy创建一个五段的数列:

a = np.linspace(1, 10, 5)  1是起始值,10是截至值,5是分为多少段数

查看array的字节:

a = np.array([2, 23, 4], dtype=np.int)
print(a.dtype)

字节越少所占用的空间越小

numpy基本运算:

加减乘除直接列表对应的值进行计算(针对列表)

注意平方在Python中用**表示,例如 c = b**2(b的平方)

特殊算法例如三角函数直接调用,例如 c = 10*np.sin(a) (a中每个值取sin再乘以10)

矩阵的乘法:

c_dot = np.dot(a,b)
c_dot_2 = a.dot(b)

两种办法皆可

随机创建:

a = np.random.random((2,4))

求最大值:max.(a),若想求每的最大值则是: max.(a,axis=0)  每的最大值:max.(a,axis=1)(列=0,行=1)

求和: sum.(a)

求最小值:min.(a)

最小值的索引: np.argmin(A)/np.argmax(A)

求矩阵平均值:np.mean(A)/np.average(A), 求列/行求平均值: np.mean(A,axis=0/1)

求矩阵中位数:np.median(A)

求累加:np.cumsum(A)(每项的值等于前面所有项的和)

求累差:np.diff(A)(n+1减去n项的值,n为新矩阵的位置)

输出非零项:np.nonzero(A)(输出两个列表,第一个列表对应行第二个列表对应列)

排序:np.sort(A) (逐行进行从小到大排序)

矩阵的反向(求逆矩阵):np.transpose(A)/A.T  (行变列,列变行)无法把横向数列变为竖向数列

np.clip(A,5,9) (把小于5的数都变为5,大于9的数都变为9,其他数字不变输出)

numpy的索引

输出第二行第一列的数据:print(A[2,1])/print(A[2][1])

输出第二行的所有数据:print(A[2,:])

输出第一列的所有数据:print(A[:,1])

输出第二行从第一位到第三位的值:print(A[2,1:3])

python 中只能迭代行(row),若要迭代列则需要将原来的矩阵翻转,再迭代翻转后的行,也就是原矩阵的列

a.flatten() 将矩阵变化为列表

矩阵的遍历: 

for item in A.flat:
    print(item)

A.flat代表着一个迭代器

矩阵的合并

上下合并: np.vstack(A,B)

左右合并:np.hstack(A,B)

横向数列变为竖向数列::,np.newaxis(竖向的变为横向  np.newaxis,:)

进行多个矩阵横向(axis=1)或者纵向(axis=0)的合并: C=np.concatenate((A,B,B,A),axis=0/1)

矩阵的分割

纵向分割: np.split(A,3,axis=0)

横向分割:np.split(A,3,axis=1) 分割的矩形必须相等

若要进行不等项的分割:np.array_split(A,3,axis=1)

纵向分割:np.vsplit(A, 3) 

横向分割:np.hsplit(A,2)

矩阵的复制

若把a的值复制给b,再把b的值复制给c,(a=b,b=c)那么,abc三个为一个值,若改变a/b/c中的值,那么另外两个值也会变改变

如果想要这些值不关联起来,需要用到 b=a.copy(深复制),那么改变a的值不会影响b的值

未经允许不得转载:作者:1146-陶同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《Python——-numpy》 发布于2020-07-07

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录