Numpy常用方法和使用技巧

1. np.array 可将序列对象转换为数组,可以生成多维数组,但是要对齐,List可包含多个子列表,
a = [[1,2,3],[4,5,6]]
b = np.array(a)

2.低精度和高精度一起,会转换为高精度的
a = np.array((1,2.0,3,4,5,6))
b = a.reshape(2,3)
print(a.shape, a.dtype)

3. np.arange(n) 生成一维从0到n-1的数组,可以设定范围和步长,如np.arange(1,10,2)
Python 内置的range生成从0到n-1的列表,一般只用于for循环中
a = np.arange(15)
for i in range(15):
  print(i)

4. np.ones .zeros .empty 里面需要传入一个元组,来指定创建什么形状,同时可以指定数据类型dtype
a = np.ones((2,2))
b = np.zeros(10)

5. np.astype 实现数据类型转换,string类型的数字也可以转换
a = np.array((1,2,3,4))
print(a.dtype)
b = a.astype(np.float64)
print(b.dtype)

6. 大小相等的数组之间的任何运算都会元素级的,特别注意数组之间的乘法是元素级的,要实现矩阵乘法,需要用np.dot

7. 数组的切片是原始数组的视图,数据在赋值时不会复制,想要复制数据,需要在切片后加.copy()

8. 数组切片用方括号,索引有几种形式,如[1,2], [:,3],[:2,3:] 注意索引的结尾数要减1,开头不需要。还有花式索引,a[[1,2,3]] 取对应的行,a[:,[1,2,3]]去对应的列,花式索引会复制数据, 注意a[[1,2,3],[1,2,3]] 取的是3个对应位置的数字

a = np.arange(30).reshape(6,5)
b = a[:2,3:]
c = a[[1,5,2]]
d = a[:,[3,4,1]]

原文地址:https://www.cnblogs.com/PowerTransfer/p/8410916.html

时间: 2024-10-10 10:37:39

Numpy常用方法和使用技巧的相关文章

Numpy常用方法及应用总汇

目录 Numpy 1.基本操作 1.1数组转换 1.2数组生成 1.3文件读取 1.4查看操作 2.数据类型 2.1指定数据类型: 2.2查看数据类型 2.3数据类型转换 3.数组运算 3.1数组间运算 3.2数组与标量 4.索引和切片 4.1基本索引和切片 4.2布尔型索引 4.3花式索引 5.数组转置和轴对换 6.数组函数 6.1通用函数:元素级数字函数 6.2where函数 6.3数学和统计方法 6.4排序方法 6.5集合运算函数 线性代数 Numpy 1.基本操作 1.1数组转换 创建数

quick lua 3.3常用方法和学习技巧之transition.lua

transition.lua主要是动作相关的操作. -------------------------------- -- @module transition --[[-- 为图像创造效果 ]] local transition = {} local ACTION_EASING = {} ACTION_EASING["BACKIN"] = {cc.EaseBackIn, 1} ACTION_EASING["BACKINOUT"] = {cc.EaseBackInO

quick lua 3.3常用方法和学习技巧之functions.lua目录

1.functions.lua (framework->functions.lua) 提供一组常用函数,以及对 Lua 标准库的扩展 1.printf 2.checknumber checkint checkbool checktable isset3.深度克隆一个值 clone 4.创建一个类 class 5.载入一个模块 import() 与 require() 功能相同,但具有一定程度的自动化特性 6.将 Lua 对象及其方法包装为一个匿名函数  在 quick-cocos2d-x 中,许

移动端网站提升页面加载性能的优化技巧

移动端网站提升页面加载性能的优化技巧 收藏到:1时间:2015-06-17   文章来源:马海祥博客   访问次数:2501 网页性能的优化一直是网站成功的关键,越来越多的研究证明,不管是小型电商,还是大型连锁企业,即使是页面加载时间方面的细微改善,都可以带来更多的业务,更多的广告收入,更多的用户粘性和更多的客户满意度. 在过去几年,Web开发者都是基于改善硬件或者提高带宽速度来优化用户体验,但是最近几年,爆炸式的移动Web浏览器的使用打破了这个途径,低带宽,高延迟,小内存,低处理器性能的移动设

60个有用的css代码片段

1.垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,可以很优雅的解决这个困惑: .verticalcenter{ position: relative; top: 50%; -webkit-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); } (ps:[译]如何实现CSS居中?–CSS居中常用方法) 使用这

文60个有用CSS代码片段

1.垂直对齐 如果你用CSS,则你会有困惑:我该怎么垂直对齐容器中的元素?现在,利用CSS3的Transform,可以很优雅的解决这个困惑: .verticalcenter{ position: relative; top: 50%; -webkit-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); } (ps:[译]如何实现CSS居中?–CSS居中常用方法) 使用这

jquery常用技巧及常用方法列表集合

jquery常用技巧及常用方法列表集合 jquery常用技巧及常用方法列表集合,学习jquery的朋友可以收藏下.方便查找学习. 1.关于页面元素的引用  通过jquery的$()引用元素包括通过id.class.元素名以及元素的层级关系及dom或者xpath条件等方法,且返回的对象为jquery对象(集合对象),不能直接调用dom定义的方法. 2.jQuery对象与dom对象的转换  只有jquery对象才能使用jquery定义的方法.注意dom对象和jquery对象是有区别的,调用方法时要注

想跑次高频策略?快来看看Numpy处理真格量化tick数据的技巧

使用澎博真格量化时,很多用户希望用numpy处理tick数据,包括tick数据的留存和运算. 这里有一些技巧. 因为tick数据量比较大,为了降低系统的运算负担,我们不应该在内存里保存大量tick数据. 比如我们只想保存过去10个tick. 可以在OnStart部分初始化一个数组: tickarray=np.empty(10, dtype ='int16' , order = 'C') 为了全局调用可以在变量前边加个"g.". 该数组的初始值全是0. 然后在OnQuote部分,我们可以

[开发技巧]·Numpy广播机制的深入理解与应用

[开发技巧]·Numpy广播机制的深入理解与应用 1.问题描述 我们在使用Numpy进行数据的处理时,经常会用到广播机制来简化操作,例如在所有元素都加上一个数,或者在某些纬度上作相同的操作.广播机制很方便,但是概念却也有些复杂,可能会让一些初学者感到困惑,在使用过程中,产生一些错误. 本文以实战演练的方式来讲解广播机制的概念与应用,不仅仅适用于Numpy,在TensorFlow,PyTorch,MxNet的广播机制中同样适用. 2.原理讲解 广播机制遵循一下准则: 1.首先以最长纬度为准拓展为相