Tag: numpy

Vectorized NumPy linspace用于多个启动和停止值

我需要创build一个二维数组,其中每行可以开始和结束与不同的数字。 假设给出每行的第一个和最后一个元素,并根据行的长度插入所有其他元素。在一个简单的例子中,假设我想创build一个3X3的数组,其起点为0,但是不同的末尾由W给出: array([[ 0., 1., 2.], [ 0., 2., 4.], [ 0., 3., 6.]]) 有没有比这更好的方法来做到这一点: D=np.ones((3,3))*np.arange(0,3) D=D/D[:,-1] W=np.array([2,4,6]) # last element of each row assumed given Res= (DT*W).T

数组分配问题

在Python 2.6.5与Numpy有一个奇怪的问题。 我分配一个numpy数组,然后等同于一个新的variables。 当我对新arrays执行任何操作时,原始值也会改变。 这是为什么? 请看下面的例子。 请赐教,因为我对Python相当陌生,而且一般编程。 -Sujan >>> import numpy as np >>> a = np.array([[1,2],[3,4]]) >>> b = a >>> b array([[1, 2], [3, 4]]) >>> c = a >>> c array([[1, 2], [3, 4]]) >>> c[:,1] = c[:,1] + 5 >>> c array([[1, 7], [3, 9]]) >>> b array([[1, 7], [3, 9]]) […]

我怎样才能检查一个二维NumPy数组里面是否包含一个特定的数值模式?

我有一个大的NumPy.array field_array和一个较小的数组match_array ,都包含int值。 使用以下示例,如何检查field_array的任何match_array形状段field_array包含与field_array中的值完全对应的值? import numpy raw_field = ( 24, 25, 26, 27, 28, 29, 30, 31, 23, \ 33, 34, 35, 36, 37, 38, 39, 40, 32, \ -39, -38, -37, -36, -35, -34, -33, -32, -40, \ -30, -29, -28, -27, -26, -25, -24, -23, -31, \ -21, -20, -19, -18, -17, -16, […]

最有效的属性散列numpy数组

我需要能够在dict存储一个numpy array来进行caching。 哈希速度很重要。 该array表示的是标记,所以虽然对象的实际标识并不重要,但值是。 Mutabliity不是一个问题,因为我只对目前的价值感兴趣。 我应该散列什么来存储在dict ? 我目前的做法是在我的testing中使用str(arr.data) ,它比md5快。 我已经从答案中结合了一些例子来获得相对时代的想法: In [121]: %timeit hash(str(y)) 10000 loops, best of 3: 68.7 us per loop In [122]: %timeit hash(y.tostring()) 1000000 loops, best of 3: 383 ns per loop In [123]: %timeit hash(str(y.data)) 1000000 loops, best of 3: 543 ns per loop In [124]: %timeit y.flags.writeable = False […]

NumPy数组不是JSON可序列化的

创buildNumPy数组并将其保存为Django上下文variables后,加载网页时收到以下错误消息: array([ 0, 239, 479, 717, 952, 1192, 1432, 1667], dtype=int64) is not JSON serializable 这是什么意思?

Python将numpy数组插入sqlite3数据库

我试图在sqlite3数据库中存储一个约1000浮点数的numpy数组,但是我不断收到错误“InterfaceError:Error binding parameter 1 – probably unsupported type”。 我在印象之下BLOB数据types可能是任何东西,但它绝对不能用一个numpy数组。 这是我的尝试: import sqlite3 as sql import numpy as np con = sql.connect('test.bd',isolation_level=None) cur = con.cursor() cur.execute("CREATE TABLE foobar (id INTEGER PRIMARY KEY, array BLOB)") cur.execute("INSERT INTO foobar VALUES (?,?)", (None,np.arange(0,500,0.5))) con.commit() 是否有另一个模块,我可以用来获得numpy数组到表中? 或者我可以将numpy数组转换成Python中的另一种forms(就像我可以分割的列表或string),sqlite将接受? 性能不是重中之重。 我只是想要它的工作! 谢谢!

在64位Windows上安装NumPy和SciPy(使用Pip)

我发现通过安装程序在Windows 64位上安装NumPy / SciPy是不可能的,这只能在32位上进行。 因为我需要比32位安装给我更多的内存,所以我需要64位版本的一切。 我试图通过Pip安装所有东西,而且大部分工作都正常。 但是当我来到SciPy时,它抱怨错过了一个Fortran编译器。 所以我通过MinGW / MSYS安装Fortran。 但是你不能马上安装SciPy,你需要重新安装NumPy。 所以我尝试了,但现在不再通过Pip工作,也没有通过easy_install 。 两个都给这些错误: 关于LNK2019和LNK1120有很多错误。 我在C : C2065, C2054 , C2085 , C2143等范围内发现了很多错误。 没有findFortran链接器,但我不知道如何安装,找不到任何东西。 还有更多的错误已经超出了我的cmd窗口的可见部分… 致命的错误是关于LNK1120 : 生成\ lib.win-amd64-2.7 \ numpy \ linalg \ lapack_lite.pyd:致命错误LNK1120:7无法parsing的外部错误:安装程序脚本退出时出现错误:命令“C:\ Users \ me \ AppData \ Local \ Programs \ Common \ Microsoft \ Visual C ++ for Python \ […]

Python(NumPy,SciPy),find一个matrix的零空间

我试图find给定matrix的零空间(Ax = 0的解空间)。 我find了两个例子,但我似乎无法得到任何工作。 而且,我不明白他们在做什么,所以我不能debugging。 我希望有人能够通过这个来引导我。 文档页面( numpy.linalg.svd和numpy.compress )对我来说是不透明的。 我学会了通过创buildmatrixC = [A|0]来做到这一点,find缩小的行梯forms并逐行求解variables。 我似乎无法仿效这些例子中的做法。 感谢您的帮助! 这里是我的示例matrix,它与维基百科示例相同: A = matrix([ [2,3,5], [-4,2,3] ]) 方法( 在这里和这里 find ): import scipy from scipy import linalg, matrixr def null(A, eps=1e-15): u, s, vh = scipy.linalg.svd(A) null_mask = (s <= eps) null_space = scipy.compress(null_mask, vh, axis=0) return scipy.transpose(null_space) 当我尝试它时,我得到一个空matrix: Python 2.6.6 […]

为什么在Numpy的0D数组不考虑标量?

当然0D数组是标量,但Numpy似乎并不这么认为…我错过了什么,或者我只是误解了这个概念? >>> foo = numpy.array(1.11111111111, numpy.float64) >>> numpy.ndim(foo) 0 >>> numpy.isscalar(foo) False >>> foo.item() 1.11111111111

将结构化数组转换为常规的NumPy数组

我想,答案会非常明显,但目前看不出来。 我怎样才能将logging数组转换回常规的ndarray? 假设我有以下简单的结构化数组: x = np.array([(1.0, 4.0,), (2.0, -1.0)], dtype=[('f0', '<f8'), ('f1', '<f8')]) 那么我想将其转换为: array([[ 1., 4.], [ 2., -1.]]) 我尝试asarray和astype ,但没有奏效。 更新(解决:float32(f4),而不是float64(f8)) 好的,我尝试了解决scheme的罗伯特( x.view(np.float64).reshape(x.shape + (-1,)) ),并与一个简单的数组,它完美的作品。 但是,我想把它转换成一个奇怪的结果: data = np.array([ (0.014793682843446732, 0.006681123282760382, 0.0, 0.0, 0.0, 0.0008984912419691682, 0.0, 0.013475529849529266, 0.0, 0.0), (0.014793682843446732, 0.006681123282760382, 0.0, 0.0, 0.0, 0.0008984912419691682, 0.0, 0.013475529849529266, 0.0, 0.0), (0.014776384457945824, 0.006656022742390633, 0.0, […]