数组很重要,因为它使你不用编写循环即可对数据执行批量运算。NumPy用户称其为矢量化(vectorization)。大小相等的数组之间的任何算术运算都会将运算应用到元素级:
In [51]: arr = np.array([[1., 2., 3.], [4., 5., 6.]])In [52]: arrOut[52]: array([[ 1., 2., 3.], [ 4., 5., 6.]])In [53]: arr * arrOut[53]: array([[ 1., 4., 9.], [ 16., 25., 36.]])In [54]: arr - arrOut[54]: array([[ 0., 0., 0.], [ 0., 0., 0.]])
数组与标量的算术运算会将标量值传播到各个元素:
In [55]: 1 / arrOut[55]: array([[ 1. , 0.5 , 0.3333], [ 0.25 , 0.2 , 0.1667]])In [56]: arr ** 0.5Out[56]: array([[ 1. , 1.4142, 1.7321], [ 2. , 2.2361, 2.4495]])
大小相同的数组之间的比较会生成布尔值数组:
In [57]: arr2 = np.array([[0., 4., 1.], [7., 2., 12.]])In [58]: arr2Out[58]: array([[ 0., 4., 1.], [ 7., 2., 12.]])In [59]: arr2 > arrOut[59]:array([[False, True, False], [ True, False, True]], dtype=bool)
不同大小的数组之间的运算叫做广播(broadcasting),将在附录A中对其进行详细讨论。本书的内容不需要对广播机制有多深的理解。
总结以上是内存溢出为你收集整理的【数据分析从入门到“入坑“系列】利用Python学习数据分析-Numpy数组运算全部内容,希望文章能够帮你解决【数据分析从入门到“入坑“系列】利用Python学习数据分析-Numpy数组运算所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)