Python Numpy基础教程

NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库!Numpy是Python的一个能快速处理矩阵运算的数学库,如果你从事的是数据科学,或者机器学习领域的话,Numpy是一项最基本的技能。他不仅简化了我们在处理矩阵运算时需要编写的代码,而且,许多Numpy的底层函数用C编写,我们能获得在用普通Python自带的列表结构时,所无法达到的运算速度。

因为Numpy并不是Python本身自带的库,所以,使用之前,当然需要先安装,具体的方法,百度一下会有很多,我在此就略了。所以,我默认所有对这部分内容感兴趣的人都已经安装好了Numpy,并且有一定的Python语言基础。需要注意的是,为了使得文中的代码尽量简洁,所有出现的代码都默认已经引入了Numpy库,并简写为np。也就是说,所有代码都默认在它们之前导入了numpy库:import numpy as np。import numpy as np是什么意思呢?在深度学习、机器学习的代码中我们经常遇到这个,import意思和C语言中“include”一样,就是将文件加入该文件中,并且重命名为np,减少了单词拼写量。

import numpy as np

#创建等间隔一维数组
a = np.linspace(1, 10, num=10)#linspace函数在numpy中的作用为在指定的区间内,创建间隔相等的数组,num的作用是指定间隔数量
print(a)

#创建一个 10x10 的二维数组,并使得 1 和 0 沿对角线间隔放置
b = np.zeros((10,10),dtype=int)
b[1::2,::2] = 1
b[::2,1::2] = 1
print(b)

#查询两个数组的交集
c = np.intersect1d([1, 3, 4, 3], [3, 1, 2, 1])
print(c)

#将随机二维数组按照第n列从上到下进行升序排列
d = np.random.randint(0,10,(5,5))
print("排序前:\n",d, '\n')
print(d[d[:,0].argsort()])

#找出随机一维数组中出现频率最高的值
e = np.random.randint(0,10,50)
print("随机一维数组:", e, '\n')
print(np.bincount(e).argmax())

#数组的连接
g1 = np.array([1, 2, 3])
g2 = np.array([4, 5, 6])
print(np.r_[g1, g2], '\n') #按行连接
print(np.c_[g1, g2], '\n') #按列连接
#两个一维数组组合成二维数组
print(np.array([np.arange(3),np.arange(3)]))

#矩阵运算
import numpy.linalg as lg
h = np.array([[1,2,3],[4,5,6],[7,8,9]])
h1= np.array([[10, 11, 12],[13,14,15],[16,17,18]])
print('原矩阵为:\n',h)
print(np.add(h,h1),'\n') #或 a+b
print(np.subtract(h,h1), '\n')# 或 a-b
print(np.multiply(h,h1), '\n') #或 a*b(对应乘)
print(np.dot(h,h1), '\n') #点乘(矩阵乘法)
print(np.divide(h,h1),'\n') #或 a/b(对应除)
print(lg.inv(h))#矩阵求逆

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值