1.numpy_overview
官网文档:https://www.numpy.org.cn/
Numpy 简介
导入numpy
Numpy是Python的一个很重要的第三方库,很多其他科学计算的第三方库都是以Numpy为基础建立的。
Numpy的一个重要特性是它的数组计算。
在使用Numpy之前,我们需要导入numpy包:
from numpy import *
使用前一定要先导入 Numpy 包,导入的方法有以下几种:
import numpy
import numpy as np
from numpy import *
from numpy import array, sin
事实上,在ipython中可以使用magic命令来快速导入Numpy的内容。
%pylab
Using matplotlib backend: Qt4Agg
Populating the interactive namespace from numpy and matplotlib
数组上的数学操作
假如我们想将列表中的每个元素增加1,但列表不支持这样的操作(报错):
a = [1, 2, 3, 4]
a + 1
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-3-068856d2a224> in <module>()
1 a = [1, 2, 3, 4]
----> 2 a + 1
TypeError: can only concatenate list (not "int") to list
转成 array :
a = array(a)
a
array([1, 2, 3, 4])
array 数组支持每个元素加 1 这样的操作:
a + 1
array([2, 3, 4, 5])
与另一个 array 相加,得到对应元素相加的结果:
b = array([2, 3, 4, 5])
a + b
array([3, 5, 7, 9])
对应元素相乘:
a * b
array([ 2, 6, 12, 20])
对应元素乘方:
a ** b
array([ 1, 8, 81, 1024])
提取数组中的元素
提取第一个元素:
a[0]
1
提取前两个元素:
a[:2]
array([1, 2])
最后两个元素:
a[-2:]
array([3, 4])
将它们相加:
a[:2] + a[-2:]
array([4, 6])
修改数组形状
查看 array 的形状:
a.shape
(4L,)
修改 array 的形状:
a.shape = 2,2
a
array([[1, 2],
[3, 4]])
多维数组
a 现在变成了一个二维的数组,可以进行加法:
a + a
array([[2, 4],
[6, 8]])
乘法仍然是对应元素的乘积,并不是按照矩阵乘法来计算:
a * a
array([[ 1, 4],
[ 9, 16]])
画图
linspace 用来生成一组等间隔的数据:
a = linspace(0, 2*pi, 21)
%precision 3
a
array([ 0. , 0.314, 0.628, 0.942, 1.257, 1.571, 1.885, 2.199,
2.513, 2.827, 3.142, 3.456, 3.77 , 4.084, 4.398, 4.712,
5.027, 5.341, 5.655, 5.969, 6.283])
三角函数:
b = sin(a)
b
array([ 0.000e+00, 3.090e-01, 5.878e-01, 8.090e-01, 9.511e-01,
1.000e+00, 9.511e-01, 8.090e-01, 5.878e-01, 3.090e-01,
1.225e-16, -3.090e-01, -5.878e-01, -8.090e-01, -9.511e-01,
-1.000e+00, -9.511e-01, -8.090e-01, -5.878e-01, -3.090e-01,
-2.449e-16])
画出图像:
%matplotlib inline
plot(a, b)
[<matplotlib.lines.Line2D at 0xa128ba8>]
从数组中选择元素
假设我们想选取数组b中所有非负的部分,首先可以利用 b 产生一组布尔值:
b >= 0
array([ True, True, True, True, True, True, True, True, True,
True, True, False, False, False, False, False, False, False,
False, False, False], dtype=bool)
mask = b >= 0
画出所有对应的非负值对应的点:
plot(a[mask], b[mask], 'ro')
[<matplotlib.lines.Line2D at 0xa177be0>]
1.numpy_overview的更多相关文章
随机推荐
- 转方阵|2012年蓝桥杯B组题解析第五题-fishers
(6')转方阵 对一个方阵转置,就是把原来的行号变列号,原来的列号变行号 例如,如下的方阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 转置后变为: 1 5 9 1 ...
- 【Dalston】【第七章】分布式链路跟踪(Sleuth)
当我们进行微服务架构开发时,通常会根据业务来划分微服务,各业务之间通过REST进行调用.一个用户操作,可能需要很多微服务的协同才能完成,如果在业务调用链路上任何一个微服务出现问题或者网络超时,都会导致 ...
- 深度学习课程笔记(四)Gradient Descent 梯度下降算法
深度学习课程笔记(四)Gradient Descent 梯度下降算法 2017.10.06 材料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS1 ...
- 取消开机logo,改成代码刷屏
将开机logo改成开始时代码刷屏,这样就能很方便看到开始时的一些问题 首先 sudo chmod 666 /etc/default/grub 然后将 GRUB_CMDLINE_LINUX_DEFAUL ...
- dynamic web module讲解
一.java的web系统有多种类型,比如静态的和动态的,然后动态的java web project要设置dynamic web module,也就是动态网页模型,他必须要和对应的服务器搭配好了才能跑, ...
- 基于OpenNetVM配置环境的发包实践
参考: openNetVM 基于OpenNetVM配置环境的发包实践 注意:本文并未对OpenNetVM的服务链进行测试,而是在借助OpenNetVM脚本环境的情况下,分别对Pktgen和MoonGe ...
- 1、Ansible简介及简单安装、使用
参考Ansible权威指南:https://ansible-tran.readthedocs.io/en/latest/index.html 以下内容学习自马哥教育 Ansible: 运维工作:系统安 ...
- SAP成本核算说明
SAP成本核算说明 <SAP财务管控——财务总监背后的管理大师>京东有售. > SAP成本核算说明 说明: 1. 原材料采用移动平均价核算:产成品采用计划(标准)成本核算: 2 ...
- HDU 4318 Power transmission(最短路)
http://acm.hdu.edu.cn/showproblem.php?pid=4318 题意: 给出运输路线,每条路线运输时都会损失一定百分比的量,给定起点.终点和初始运输量,问最后到达终点时最 ...
- VS 编译后 install报错(error MSB3073)
vs编译出现如下错误: 错误 1 error MSB3073: 命令"setlocal H:\PCL_BACKUP\PCL\CMake\bin\cmake.exe -DBUILD_TYPE= ...