用python输出世界你好汉_networkx使用笔记(三)之好汉篇numpy(2)
[SciPy入门指南这个教程是为了帮助初学者掌握scipy并且肯能快地实际使用。什么是scipy、numpy、matplotlib?它们是用来干什么的?如何使用scipy工作学习使用scipy示例会话
python和networkx的三个给力科学计算的基友:numpy、scipy和matplotlib。
numpy擅长数组处理,多维数组的产生与访问,还有庞大的函数库,包括:求和、平均值、方差、最值、排序、矩阵、矩阵类和线性代数模块等。其安装,在第一篇中有说。
matplotlib擅长画图,点和线多形态展示、坐标轴变换等。其安装在第一篇有说。
scipy很强大,常微分方程求解、信号处理、图像处理等。安装好python编译器后,到scipy官网上下载相应的软件包(http://sourceforge.net/projects/scipy/files/),由于本人安装的是python-2.6,下载相应版本,然后点击exe安装;安装完毕,在IDEL里面输入import scipy进行测试(ps:网上有说用easy_install去安装,结果没有成功,应该是Linux下可以,windows下不可以)
这三者基本次序是数据存在numpy中,低级处理用numpy,高级处理用scipy,数据显示用matplotlib。
2. numpy
numpy提供了两个基本的对象:narray和ufunc。
narray:存储单一数据类型的多维数组
ufunc:能够对数组进行处理的函数
2.1 narray对象
在narray对象中存储这多维度数组,有数组就有类型。基本的数据类型有:
[先决条件在阅读这个教程之前,你多少需要知道点python。如果你想重新回忆下,请看看Python Tutorial.如果你想要运行教程中的示 numpy中的基本数据类型 类型 类型说明 bool True or False int 所处平台的整型(一般为int32或int64) int8 字节型(-128-127) int16 16位整型(-32768-32767) int32 32位整型 int64 unit8 无符号整型(0-255) unit16 无符号整型(0-65535) unit32 unit64 float 64位标准float float16 半精度浮点数:1位标志位、5位指数位、10位小数位 float32 单精度浮点:1、8、23 float64 双精度:1,11,52 complex 标准的128位复数 当然,除了基本的数据类型,numpy还支持数据结构类型的数组。
(1)narray对象的创建:
import numpy as np
>>> a=np.array([1,2,3,4])
>>> b=np.array((6,7,8,9))
>>> a.shape
(4,)
>>> a.shape=2,2
>>> a
array([[1, 2],
[3, 4]])
>>> a.shape=1,-1
>>> a
array([[1, 2, 3, 4]])
>>> a=np.arange(0,1,0.1)
#产生(0,1]的数组,数组每个元素直接的差为0.1
>>> a
array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9])
>>> a=np.linspace(0,1,10)
#linsapce(a,b,endpoint=True | False),True的时候产生[0,1]的等差数列,False的时候为[0,1)
>>> a
array([ 0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444,
0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ])
>>> a=np.logspace(0,1,12,base=2,endpoint=false)
Traceback (most recent call last):
File "", line 1, in
a=np.logspace(0,1,12,base=2,endpoint=false)
NameError: name 'false' is not defined
#logsapce产生等比数列,logspace(a,b,c,base=10 | 2,endpoint=True | False),base指定了a和b的指数,代表了范围;c指定了等比数列的元素个数
>>> a=np.logspace(0,1,12,base=2,endpoint=False)
>>> a
array([ 1. , 1.05946309, 1.12246205, 1.18920712, 1.25992105,
1.33483985, 1.41421356, 1.49830708, 1.58740105, 1.68179283,
1.78179744, 1.88774863])
>>> a=np.zeros(10)
>>> a
array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
>>> a=np.ones(10)
>>> a
array([ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]) (2)存取元素
数组访问的下标从0开始
特定元素的index访问。可以用index访问,例如对于数组a,可以有:a[5]
范围index访问。a[2:5],下标从2到5(左闭右开的区间)
a[1:-1:2],下表从1到尾部,2表示每隔一个元素获取一个元素
a[5:1:-2],第三个参数即步长为负数,这里为-2,即逆序每隔一个元素获取一个元素
数据结构数组的建立与访问:(可以看到,数组内部就像字典,其访问根据索引)
>>> persontype=np.dtype({'names':['name','age','weight'],'formats':['S32','i','f']},align=True)
>>> a=np.array([("Zhang",32,75.5),("wang",24,65.3)],dtype=persontype)
>>> a
array([('Zhang', 32, 75.5), ('wang', 24, 65.300003051757812)],
dtype=[('name', '|S32'), ('age', '
>>> a[0]
('Zhang', 32, 75.5)
>>> a[0].name
Traceback (most recent call last):
File "", line 1, in
a[0].name
AttributeError: 'numpy.void' object has no attribute 'name'
>>> a[1]['name']
'wang'
>>> 2.2 ufunc运算
x=np.linspace(0,2*np.pi,10)
>>> x
array([ 0. , 0.6981317 , 1.3962634 , 2.0943951 , 2.7925268 ,
3.4906585 , 4.1887902 , 4.88692191, 5.58505361, 6.28318531])
>>> y=np.sin(x)
>>> y
array([ 0.00000000e+00, 6.42787610e-01, 9.84807753e-01,
8.66025404e-01, 3.42020143e-01, -3.42020143e-01,
-8.66025404e-01, -9.84807753e-01, -6.42787610e-01,
-2.44929360e-16])
>>> np.sin(x,out=x) #在计算时,指定了输出out为x,所以x中的元素也改变了
array([ 0.00000000e+00, 6.42787610e-01, 9.84807753e-01,
8.66025404e-01, 3.42020143e-01, -3.42020143e-01,
-8.66025404e-01, -9.84807753e-01, -6.42787610e-01,
-2.44929360e-16])
>>> x
array([ 0.00000000e+00, 6.42787610e-01, 9.84807753e-01,
8.66025404e-01, 3.42020143e-01, -3.42020143e-01,
-8.66025404e-01, -9.84807753e-01, -6.42787610e-01,
-2.44929360e-16])
>>> np.add(x,y)
#add(x,y[,z])即可以指定将结果存入z中,如果没有z,则默认存入y中
#出了add之外,数值运算还有数组减法substract(x,y[,z]),乘法multiply(x,y[,z]),元素取负negative(x[,y]),x**y-power(x,y[,z]),x%y-remainder(x,y[,z])
#还有布尔运算,equal(x,y[,z]),不等not_equal(x,y[,z]),小于等于less_equal(x,y[,z]),大于greater,大于等于greater_equal
array([ 0.00000000e+00, 1.28557522e+00, 1.96961551e+00,
1.73205081e+00, 6.84040287e-01, -6.84040287e-01,
-1.73205081e+00, -1.96961551e+00, -1.28557522e+00,
-4.89858720e-16])
>>> 此外,还有求和sum、最小min、最大max、乘积dot
[网上找了半天,终于把要安装的资料找到了。其他的不怎么全,就自己再次总结一下写。 我自己安装的是python 2.7。所以以下的东东都是针对2.7的软件。 nump
用python输出世界你好汉_networkx使用笔记(三)之好汉篇numpy(2)相关推荐
- 用python输出世界你好汉_python print 格式输出跟老齐学Python之有容乃大的list(4)
[0, -2, -4, -6, -8] 有了这个内置函数,很多事情就简单了.比如: 复制代码 代码如下: >>> range(0,100,2) [0, 2, 4, 6, 8, 10, ...
- 用python输出世界你好_Hello World! 我的python之旅开始了~
本人测试萝卜出生,测试做了快两年了,越来越觉得测试工作的重复性与枯燥性不能适应,决定转转开发,首当其冲就瞄上了python,不用多说了,直接开始吧! 首先肯定是输出与输入: print("H ...
- 用python输出世界你好_python3------print 打印输出
# 1.打印字符串 print('hello world!') 输出结果: hello world! #2.打印中文字符串 print ('世界,你好!') 输出结果: 世界,你好! # 3.打印变量 ...
- python socket服务器_python网络编程学习笔记(三):socket网络服务器
1.TCP连接的建立方法 客户端在建立一个TCP连接时一般需要两步,而服务器的这个过程需要四步,具体见下面的比较.步骤 TCP客户端 TCP服务器 第一步 建立socket对象 建立socket对象 ...
- c语言实数的输出和占位_C语言学习笔记(三):占位符
%d:整型的占位符(占位置)%f:小数型(浮点型)的占位符 %c:字符型的占位符 基本数据类型有整型(int),短整型(short),长整型(long),单精度浮点型(float),双精度浮点型( ...
- python爬虫urllib 数据处理_python爬虫学习笔记(三)-爬取数据之urllib库
1. 小试牛刀 怎样扒网页呢? 其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HTML代码,加 JS.CSS,如果把 ...
- python输出时间代码_Python获取世界多地时间怎么写代码呢?
地球是自西向东自转,东边比西边先看到太阳,东边的时间也比西边的早.东边时刻与西边时刻的差值不仅要以时计,而且还要以分和秒来计算,这给人们带来不便. 为了克服时间上的混乱,1884年在华盛顿召开的一次国 ...
- 树莓派4B安装系统,配置远程连接和WiFi,更新源,更新中文支持,基本Linux命令,用Python输出hello和“你好,世界”
树莓派4B 系列1 从入门到进阶 作者(当然就是我本人了,哈哈哈哈哈),写这篇文章的目的是给刚入门树莓派或者从3B/3B+版本过度到4B的小朋友们总结出一些成系统的规律和方法,以及4B全新版本的变化. ...
- 用python输出斐波那契数列的前20项_python输出斐波那契数列
如何用Python输出一个Fibonacci数列有时候觉得自己像个神经病.既纠结了自己,又打扰了别人. #python3def fibo(n): if n受辱时的唯一办法就是忽视它,不能忽视它,就藐视 ...
- python求三角形面积步骤_通过求三角形面积步入python程序世界.pdf
通过求三角形面积步入python程序世界 第一章 通过求三角形面积步入 Python 程序世界 本章通过一个求三角形面积的案例带领读者快速进入 Python 世界,案例涉及一些编程必 须知道的内容,包 ...
最新文章
- SP4062电路接口芯片保护IC
- Django 前台通过json 取出后台数据
- java socket/Serversocket编程详解(中/英文)
- 电脑卡得厉害,得采取一些措施了
- linux硬链接不能创建目录,为什么硬链接不允许用于目录?
- 将“softmax+交叉熵”推广到多标签分类问题
- linux中vim内容定位,Linux运维行走江湖必备之:vim命令常用参数
- Stateflow_duration计时
- 正弦光栅的生成matlab,matlab做正弦光栅衍射的计算机模拟
- python语言的主网址-python调用浏览器,打开一个网址
- 蓝桥2014c++真题:神奇算式
- Security+认证学习/备考经验
- linux上clion使用教程,linux clion使用教程
- Jquery API帮助文档 chm
- 战神服务器IP修改,战神引擎芒果数据库查询和修改玩家IP+账号+密码教程
- 分布式高可用:故障恢复
- css 加粗或斜体hover鼠标划过,导致异常闪动,整体宽度增加的解决办法
- 根据卫星运动矢量计算轨道六根数
- sFTP 上传或下载文件与文件夹
- x / k向上取整转换为向下取整