博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初学Numpy(二)
阅读量:5037 次
发布时间:2019-06-12

本文共 1339 字,大约阅读时间需要 4 分钟。

数组和标量之间的运算

数组很重要,因为他使你不用编写循环就可以对数据执行批量的运算,这通常叫做矢量化。

(1)大小相等的数组之间的任何算术运算都会将运算应用到元素级;

(2)带下不等的数组之间的运算叫做广播。

1 import numpy as np 2 from pprint import pprint 3 arr1 = np.array([[x+1,x+2,x+3]for x in range(2)]) 4 print "arr1:", 5 pprint(arr1) 6  7 print("arr1*arr1:") 8 pprint(arr1*arr1) 9 10 print("arr1-arr1:")11 pprint(arr1-arr1)12 13 print("1/arr1:")14 pprint(1/arr1)15 16 print("arr1**0.5:")17 pprint(arr1**0.5)

运行结果:

arr1:array([[1, 2, 3],       [2, 3, 4]])arr1*arr1:array([[ 1,  4,  9],       [ 4,  9, 16]])arr1-arr1:array([[0, 0, 0],       [0, 0, 0]])1/arr1:array([[1, 0, 0],       [0, 0, 0]])arr1**0.5:array([[ 1.        ,  1.41421356,  1.73205081],       [ 1.41421356,  1.73205081,  2.        ]])

基本的索引和切片

由于Numpy的设计目的是处理大数据,所以Numpy的对数组的修改都会直接反映到源数组上,如赋值操作。

1 #二维数组 2 ''' 3 在一个二维数组中,各索引位置上的元素不再是标量而是一维数组 4 ''' 5 arr_2d = np.array([[x,x+1,x+2]for x in range(3)]) 6 pprint(arr_2d) 7  8 #一次传入多个切片 9 pprint(arr_2d[:2,1:])10 pprint(arr_2d[:,:1])#只有冒号表示选取整个轴11 12 #通过将整数和切片混合,可以得到低维度的切片13 pprint(arr_2d[2][1:])14 15 #切片赋值操作,会扩散到整个选区16 arr_2d[:,:1] = 017 pprint(arr_2d)

运行结果:

1 array([[0, 1, 2], 2        [1, 2, 3], 3        [2, 3, 4]]) 4 array([[1, 2], 5        [2, 3]]) 6 array([[0], 7        [1], 8        [2]]) 9 array([3, 4])10 array([[0, 1, 2],11        [0, 2, 3],12        [0, 3, 4]])

 

转载于:https://www.cnblogs.com/zenzen/p/4861069.html

你可能感兴趣的文章
web前端java script学习2017.7.18
查看>>
删除TXPlatform
查看>>
LaTex:图片排版
查看>>
并发访问超时的问题可能性(引用)
查看>>
中小团队基于Docker的Devops实践
查看>>
利用python打开摄像头并保存
查看>>
System函数的使用说明
查看>>
Selenium-测试对象操作之:获取浏览器滚动条滚动距离
查看>>
Linux下MySQL数据库安装与配置
查看>>
Extjs String转Json
查看>>
oracle入门(4)——少而常用的命令
查看>>
打印机设置(PrintDialog)、页面设置(PageSetupDialog) 及 RDLC报表如何选择指定打印机...
查看>>
Java 虚拟机部分面试题
查看>>
二叉树的遍历问题总结
查看>>
Spring之面向切面编程AOP
查看>>
MATLAB GUI程序设计中使文本框接收多行输入的方法
查看>>
全文检索-Elasticsearch (四) elasticsearch.net 客户端
查看>>
Oracle DBMS_SESSION
查看>>
sublime复制当前行到下一行
查看>>
WPF 3D变换应用
查看>>