【python – (numpy)__array_wrap__做什么?】教程文章相关的互联网学习教程文章

python – 在Numpy中的向量上应用bins函数【代码】

我将如何将聚合函数(例如“sum()”或“max()”)应用于向量中的bin. 那就是我有: >值为x的长度为N的向量>长度为N的bin标签b的向量 这样b表示x中每个值所属的bin.对于b中的每个可能值,我想对属于该bin的x的所有值应用聚合函数“func()”.>> x = [1,2,3,4,5,6] >> b = ["a","b","a","a","c","c"] 输出应该是2个向量(比如聚合函数是产品函数):>>(labels, y) = apply_to_bins(values = x, bins = b, func = prod)labels = ["a","b"...

python – Numpy array.resize() – zeros’first’【代码】

我可以使用array.resize(shape)来调整我的数组的大小,并将零添加到那些没有任何值的索引.如果我的数组是[1,2,3,4]并且我使用array.resize [5,0]我得到[1,2,3,4,0].如何将零附加/填充到前面,产生[0,1,2,3,4]? 我动态地这样做 – 尝试使用:array.resize(arrayb.shape)我想避免(不惜一切代价)制作数组的内存副本.那就是反转数组,调整大小和反转.使用视图将是理想的.解决方法:我相信你可以使用切片分配来做到这一点.我认为没有理由为...

python – 使用numpy中的1d数组从2d数组中选择多个元素【代码】

numpy中有两个数组.第一个是2d数组,可以将其视为向量列表.第二个是1d数组,可以将其视为2d数组的索引列表. 我想使用1d数组的索引选择2d数组的元素.现在我一直在做z=rnd.rand(2,10) # a list of 2d vectors of length 10z_idx=rnd.randint(2,size=z.shape[1]) #indices selecting a dimension of the 2d vectorresult=np.array([z[z_idx[i],i] for i in xrange(len(z_idx))])但这很慢. 在numpy中有更好的方法吗?解决方法:可能是最简...

python – Numpy genfromtxt – 列名【代码】

我试图使用genfromtxt导入一个简单的制表符分隔文本文件.我需要访问每个列标题名称,以及与该名称关联的列中的数据.目前我正以一种看起来有点奇怪的方式实现这一目标. txt文件中的所有值(包括标题)都是十进制数.sample input file:1 2 3 4 # header row 1.2 5.3 2.8 9.5 3.1 4.5 1.1 6.7 1.2 5.3 2.8 9.5 3.1 4.5 1.1 6.7 1.2 5.3 2.8 9.5 3.1 4.5 1.1 6.7table_data = np.ge...

python – numpy直方图索引【代码】

考虑到我有一个3D直方图或简单的3D numpy形状阵列(X,Y,Z)import numpy as np array = np.random.random((100,100,100))什么是最好的方法,使用numpy或scipy来获得满足球体条件的数组值的索引?(index_x**2 + index_y**2 + index_z**2) <= radius**2显然,在后一种情况下,阵列中心是(0,0,0).一般情况下((index_x-center_x)**2 + (index_y-center_y)**2 +(index_z-center_z)**2) <= radius**2使用简单的python循环很容易解决问题,但我需...

python – 如何在这个短代码中提高numpy性能?【代码】

我试图了解为什么我的一个python脚本比gfortran慢了约4倍,我必须这样做:import numpy as npnvar_x=40 nvar_y=10def fn_tst(x):for i in range(int(1e7)):y=np.repeat(x,1+nvar_y)return yx = np.arange(40) y = fn_tst(x)print y.min(),y.max()这比以下fortran代码慢大约13倍module test integer,parameter::nvar_x=40,nvar_y=10 contains subroutine fn_tst(x,y) real,dimension(nvar_x)::x real,dimension(nvar_x*(1+nvar_y))::...

python – 制作没有numpy的多维数组的好方法【代码】

我需要一些方法来跟踪布尔标志的四维数组.只是真/假值.似乎numpy是执行此类操作的规范方式,但安装似乎比我真正想要处理的更复杂. (我需要在多个操作系统环境中工作.) 那么,是否有一种简单的方法,或简单的模块,可以让我存储和从四维数组中获取真/假值而不需要挖掘自己比海洋更深的一堆意大利面? 我可以列出列表列表,但这看起来很笨拙.解决方法:如果数组是稀疏的(罕见的真值);你可以使用collections.defaultdict:from collections ...

python – 来自unix utc秒的numpy datetime64【代码】

注意:我认为datetime64正在做正确的事情.所以我会留下帖子以防它有用. 从numpy 1.7.0开始,传入np.datetime64的秒被解释为在本地时区.是否有一种干净,快速的方法将unix utc秒导入np.datetime64?我有50M的这些阵列,似乎应该有一种方法告诉np.datetime64我的秒值是UTC,不是吗?datetime.datetime.utcfromtimestamp(1338624706) datetime.datetime(2012, 6, 2, 8, 11, 46) # this is the time I'm looking fornp.datetime64(1338624...

python – 根据圆的面积更改numpy数组中的值【代码】

上下文 我需要在python中测量组合圆的面积.我想出了使用numpy数组的方法.首先,我用零填充网格(numpy数组),网格中的每个位置对应0.5cm的长度.然后我将圆心放到网格上,并在网格中将此值更改为1.我知道圆的半径,所以我可以计算圆的面积,因为我知道圆的面积我改变了网格中零点的区域.然后我计算网格中的一些频率并使用它来计算组合圆的面积,因为我知道网格中每个位置的长度我可以计算面积.这是目前非常粗糙的方法,我计划在算法确定后将...

python – 将bz2压缩二进制文件导入为numpy数组【代码】

我有一个包含数据数组的bz2压缩二进制(big endian)文件.使用外部工具解压缩然后将文件读入Numpy工作:import numpy as np dim = 3 rows = 1000 cols = 2000 mydata = np.fromfile('myfile.bin').reshape(dim,rows,cols)但是,由于还有很多其他类似的文件,我无法事先单独提取每个文件.因此,我发现Python中的bz2模块可能能够在Python中直接解压缩它.但是我收到一条错误消息:dfile = bz2.BZ2File('myfile.bz2').read() mydata = np.fr...

python – numpy array.tolist()和scipy.sparse tolist()之间有什么区别【代码】

import numpy as np from scipy.sparse import lil_matrix使用numpy我得到test_mat = (np.ones((4,6))) test_list = test_mat[0,:].tolist()将test_list作为包含6个元素的列表.但是,我使用scipy.sparsetest_mat = lil_matrix(np.ones((4,6))) test_list = test_mat[0,:].todense().tolist()将test_list作为一个列表,其中包含一个元素,而该元素又有6个元素(test_list [0]有6个元素). 有人可以向我解释导致这种差异的潜在机制吗?谢谢...

python – 如何在numpy中进行条件行求和?【代码】

我有一个numpy 2d数组,包括正条目和-1值,这些是缺少的值.我想在不包含-1值的情况下对此矩阵的行求和.有没有办法在numpy中执行条件行求和?解决方法:方法#1:乘以布尔数组,因为True表现为1而False表示为0:>>> a array([[ 1, 3, 0, 4, 2],[ 2, 1, 4, -1, 1],[-1, 2, 4, 4, 4],[ 4, 4, 4, 4, 0],[ 0, 2, 4, 1, 2]]) >>> (a * (a != -1)).sum(axis=1) array([10, 8, 14, 16, 9])方法#2:使用相同的布尔数组(好吧...

python – 类中的Numpy数组赋值【代码】

我使用Python 3.2.3与NumPy 1.6.1.如果有人能解释我在尝试访问(以两种不同的方式)NumPy数组的元素时NumPy做了什么,我将非常感激. 码:import numpy as npclass MyClass:def __init__(self,q):self.coord = qself.firstel = q[0]self.secondel = q[1:2]q = np.array([10,20]) # numpy array my_object = MyClass(q) # object of MyClassprint('original','q:',q,' / coord:',my_object.coord,' / 2elements:',my_object.firstel,...

python – 为给定列排序numpy矩阵【代码】

我已经尝试使用Ned Batchelder代码按人类顺序对NumPy矩阵进行排序,因为它在以下帖子中提出: Sort numpy string array with negative numbers? 代码在一维数组上运行,命令为:print (sorted(a, key=natural_keys))现在,我的问题是我的数据是一个10列矩阵,我想根据一列(我们说MyColumn)对它进行排序.我找不到修改代码的方法来打印根据这个列排序的整个矩阵.我能想到的就是:print (sorted(a['MyColumn'], key=natural_keys))但是,当...

python – 为2D Numpy数组逐行插值【代码】

我有两个numpy数组:x = np.array([1,2,3,4,5]) y = np.array([10,20,30,40,50])我试图得到的是这样的:array([[ 1. , 3.25, 5.5 , 7.75, 10. ],[ 2. , 6.5 , 11. , 15.5 , 20. ],[ 3. , 9.75, 16.5 , 23.25, 30. ],[ 4. , 13. , 22. , 31. , 40. ],[ 5. , 16.25, 27.5 , 38.75, 50. ]])我的方法不是很像Numpy,需要改进(摆脱for循环)非常大的数组:myarray = np.zeros((5,5)) for idx...