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的更多相关文章
随机推荐
- noip模拟【tea】
tea [题目描述]有n个容量为V的瓶子,第i个瓶子中装着a[i]个单位的tea,使所有瓶子内的tea在不 超过其容量的前提下,非空的瓶子最少.在一个单位时间内,可以同时将多个瓶子中的tea倒入另外多 ...
- Ubuntu 更新系统版本以及查看当前系统版本的命令
1. Ubuntu 查看当前系统版本: lsb_release -a 2. Ubuntu 更新系统版本的命令: sudo do-release-upgrade
- 【转载】vim 中如何替换选中行或指定几行内的文本
https://segmentfault.com/q/1010000002552573/a-1020000002552589 :'<,'>s/替换项/替换为/g 以下命令将文中所有的字符串 ...
- 【译】第17节---数据注解-Column
原文:http://www.entityframeworktutorial.net/code-first/column-dataannotations-attribute-in-code-first. ...
- 《机器学习实战》之k-近邻算法(改进约会网站的配对效果)
示例背景: 我的朋友海伦一直使用在线约会网站寻找合适自己的约会对象.尽管约会网站会推荐不同的人选,但她并不是喜欢每一个人.经过一番总结,她发现曾交往过三种类型的人: (1)不喜欢的人: (2)魅力一般 ...
- Perl关联数组用法集锦
本文和大家重点讨论一下Perl关联数组的概念,创建Perl关联数组,从数组变量复制到Perl关联数组,元素的增删,用Perl关联数组循环等内容,相信通过本文的学习你对Perl关联数组的用法一定会有深刻 ...
- _itemmod_add
命令._add items XXX 为目标添加一组物品 `comment` 备注 `categoryId` 组ID `entry` 物品entry `count`数量
- 小tip: margin:auto实现绝对定位元素的水平垂直居中
转载自:http://www.zhangxinxu.com/wordpress/?p=3794 一.绝对定位元素的居中实现 如果要问如何CSS实现绝对定位元素的居中效果,很多人心里已经有答案了. 兼容 ...
- 【测试工程师面试】面试官热衷询问的N个问题
1. 数据库中左连接右连接的区别 2.JAVA中continue和break的区别 3.Linux中查看某一个进程并且杀死 1.数据库中多表连接,根据不同的表的某一个字段进行关联, 左连接是将左边表全 ...
- Java技术——你真的了解String类的intern()方法吗
0.引言 什么都先不说,先看下面这个引入的例子: String str1 = new String("SEU")+ new String("Calvin") ...