Python: numpy总结(2)
11、xrange 例子:
for i in xrange(3):
print i test=[1,2,3,4]
print test[:]
print test[2:3]
for i in xrange(2,5):
print i
结果:
0 1 2
[1, 2, 3, 4] [3]
2 3 4
xrange用于循环中,参数为一个整数的话,可循环遍历小于该参数的值。两个参数,则循环遍历两个整数之间的值。 test[:]则表示获取test列表中的所有元素。 test[2:3]则表示获取从第2个位置到第三个位置间的元素。
12、strptime 例子:
import timefrom datetime
import datetime,date dd = datetime.strptime('2014-04-03T10:53:49.875Z', "%Y-%m-%dT%H:%M:%S.%fZ") print time.mktime(dd.timetuple()) #1396493629.0
结果:
1396493629.0
strptime把时间按照指定的格式转换。处理时间的时候会用到这个函数。
13、tuple和数组转换成字符串 例子:
tuple =(1,2,3)
print tuple[len(tuple)-1]
print tuple[-1]
print 9.99.__repr__()
print str(9.99)
结果:
3 3 9.99 9.99
上面的示例中tuple是一个元组,访问元素的时候,可以通过[index]这种方式访问。 访问最后一个元素的时候,可以通过[-1]访问. 那么访问倒数第二个元素:
print tuple[-2] 输出结果:2
另外,数字转换成字符串有两种方式:
_ _ repr _ _() str()
14、transpose和.T 例子:
aa =[[1],[2],[3]]aa= mat(aa) #将列表转换成矩阵,并存放在aa中
print aa
print aa.transpose()#将矩阵进行转置
print aa #transpose()进行矩阵的转置,aa并没有改变
print '*'*20print aa.T
print aa #T转置矩阵,也没有发生改变
输出结果:
[[1][2][3]]
[[1 2 3]]
[[1][2][3]]
[[1 2 3]]
[[1][2][3]]
有两种方式实现矩阵的转置。
15、zeros() ones() 例子:
print zeros((2,1))
print ones((2,3))#参数指明了矩阵的行列数
结果:
[[ 0.][ 0.]]
[[ 1. 1. 1.][ 1. 1. 1.]]
zeros返回指定行列全零矩阵 ones返回指定行列的全一矩阵
16、列表 数组 linspace 例子:
#列表和数组的区别:#列表: [1, 2, 3, 4]#数组: [1 2 3 4]print '*'*20ll =[1,2,3,4]
print '列表:',ll arr = array(ll)
print '数组:',arr
print '*'*20print linspace(0,3,6) #返回的是数组
输出结果:
******************** 列表: [1, 2, 3, 4] 数组: [1 2 3 4] ********************
[ 0. 0.6 1.2 1.8 2.4 3. ]
数组中间元素没有分隔符。列表逗号分割。 linspace返回的是指定的开始结束位置的指定个数的数。
linspace(0,3,6)返回0到3之间6个数字,且间隔均匀
17、argsort 排序索引 例子:
print '**************数组排序问题****************'#数组的构建问题,初始化使用array()ary=array(zeros(4)) ary[0]=0.1ary[1]= 0.6ary[2]= 0.5ary[3]= 0.7#有-号,降序排列#无-号,升序排列sortindex = argsort(ary)
for id in sortindex:
print '索引:',id
for i in ary:
`print i
结果:
**************数组排序问题**************** 索引: 0 索引: 2 索引: 1 索引: 3 0.1 0.6 0.5 0.7
argsort函数返回数组按照从小到大排序的位置的索引。
sortindex = argsort(-ary) for id in sortindex: print ‘索引:’,id for i in sortindex: print ary[i]
输出结果: 索引: 1 索引: 2 索引: 0 0.7 0.6 0.5 0.1
18、 [:,:]矩阵元素切片
#矩阵元素的获取 ll = [[1,2,3],[4,5,6],[7,8,9]]#获取第二行第0个元素
print mat(ll)[2,0] #第一个冒号代表获取行的起止行号 #第二个冒号代表获取列的起止行号
print mat(ll)[:,:]
结果:
7
[[1 2 3][4 5 6][7 8 9]]
19、diag 例子:
#构建对角矩阵 #diag()参数为列表即可dd = [1,2,3] dilogg = diag(dd)
print 'diag=',dilogg
结果:
diag= [[1 0 0][0 2 0][0 0 3]]
diag构建对角矩阵
20、linalg.inv和.I 求逆矩阵 例子:
dd = [1,2,3] dilogg = diag(dd)
print 'diag=',dilogg
print 'dd:',linalg.inv(dilogg)
print 'I=',mat(dilogg).I ll = [[1,2,3],[4,5,6],[7,8,9]] #求逆矩阵 lv = linalg.inv(mat(ll))
print 'inv:',lv
print 'I:',mat(ll).I
结果:
diag= [[1 0 0][0 2 0][0 0 3]]
dd: [[ 1. 0. 0. ] [ 0. 0.5 0. ] [ 0. 0. 0.33333333]]
I= [[ 1. 0. 0. ] [ 0. 0.5 0. ] [ 0. 0. 0.33333333]]
inv: [[ -4.50359963e+15 9.00719925e+15 -4.50359963e+15] [ 9.00719925e+15 -1.80143985e+16 9.00719925e+15] [ -4.50359963e+15 9.00719925e+15 -4.50359963e+15]]
I: [[ -4.50359963e+15 9.00719925e+15 -4.50359963e+15] [ 9.00719925e+15 -1.80143985e+16 9.00719925e+15] [ -4.50359963e+15 9.00719925e+15 -4.50359963e+15]]
上面求逆矩阵有两种方式。 linalg.inv()和 矩阵.I 两种方式均可。
- poj-------------(2752)Seek the Name, Seek the Fame(kmp)
- hust--------The Minimum Length (最短循环节)(kmp)
- hdu-----(3746)Cyclic Nacklace(kmp)
- javaSE之如何将一个文件复制到另一个文件
- 将文件字节输出流写入到文本中
- javaSE之如何将一个文档显示出来(,txt,.doc,.....)
- Git -- 分支与合并 (命令行+可视化工具p4merge)
- java之如何实现调用启动一个可执行文件,exe
- file类之目录
- 理解Go语言Web编程(上)
- 理解Go语言Web编程(下)
- 呆呆的io流输入输出的一些基础
- 机器人 Go 语言库:Gobot
- poj------2406 Power Strings
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Swift 数组(Arrays)
- Swift 多行字符串字面量
- 服务器配置ssh密钥登陆
- Swift 区间运算符
- Spring Security 实战干货:理解AuthenticationManager
- 深度学习|Tensorflow2.0基础
- 【Rust日报】2020-07-20 boids算法, tide, popol, Calcite
- Cell Ontology:解析细胞类型新维度
- 软件设计思想:池化技术
- MySQL变量声明、赋值和使用
- Google Analytics和Adobe Analytics中的数据层dataLayer
- java多线程关键字volatile、lock、synchronized
- 操作系统基础 - 线程级并发
- SpringBoot使用ActiveMq同时支持点对点推送和发布订阅
- 《内网安全攻防》学习笔记,第二章-域内信息收集