【python-NumPy array_equal函数无法按预期工作】教程文章相关的互联网学习教程文章

更多pythonic方式迭代Numpy【代码】

我是一名工科学生,我习惯于在Fortran中编写代码,但现在我正在尝试使用Numpy为Python编写更多的数据. 如果我需要使用来自多个数组的元素重复执行计算,那么我在Fortran中编写的内容将立即进行翻译k = np.zeros(N, dtype=np.float) u = ... M = ... r = ... for i in xrange(N):k[i] = ... # Something with u[i], M[i], r[i] and r[i - 1], for example但我想知道这种方式是否更加pythonic,或以任何方式优先:for i, (k_i, u_i, M_i,...

如何在python numpy中并行化和计算?【代码】

我有一个总和,我正在尝试计算,我很难并行化代码.我试图并行化的计算有点复杂(它使用numpy数组和scipy稀疏矩阵).它吐出一个numpy数组,我想从大约1000个计算中求和输出数组.理想情况下,我会在所有迭代中保持运行总和.但是,我还没弄清楚如何做到这一点. 到目前为止,我已经尝试使用joblib的Parallel函数和pool.map函数与python的多处理包.对于这两个,我使用一个返回numpy数组的内部函数.这些函数返回一个列表,我将其转换为numpy数组,然...

提高numpy.dot(python)的精度【代码】

我正在尝试模拟某个物理系统.为了传播解决方案,我需要能够将行列式= 1的矩阵乘以描述系统的每个部分.在下面的代码中,T(变量)是一个二维矩阵,其det(T)= 1,我只是表示区域编号,其余部分是无关紧要的. 当我为具有超过30个区域的系统运行此代码时,最终的Msys不再具有determinant = 1.我在整个计算过程中检查了Msys的行列式的值,并且在前几次迭代中它是1,但随后它开始偏离.我在创建数组T时尝试放入dtype = float64,看看这是否会提高精度...

python – Numpy:多个值的矢量化【代码】

想象一下,你有一个RGB图像,想要处理每个像素:import numpy as np image = np.zeros((1024, 1024, 3))def rgb_to_something(rgb):passvfunc = np.vectorize(rgb_to_something) vfunc(image)vfunc现在应该获得每个RGB值.问题是numpy压扁了数组和函数得到r0,g0,b0,r1,g1,b1,…它应该得到rgb0,rgb1,rgb2,….这可以以某种方式完成吗? http://docs.scipy.org/doc/numpy/reference/generated/numpy.vectorize.html 也许通过事先将numpy数...

python – 堆叠numpy数组?【代码】

我试图水平堆栈数组,使用numpy hstack,但无法让它工作.相反,它全部出现在一个列表中,而不是“矩阵式”2D阵列.import numpy as np y = np.array([0,2,-6,4,1]) y_bool = y > 0 y_bool = [1 if l == True else 0 for l in y_bool] #convert to decimals for classification y_range = range(0,len(y)) print y print y_bool print y_range print np.hstack((y,y_bool,y_range))打印这个:[ 0 2 -6 4 1] [0, 1, 0, 1, 1] [0, 1, 2,...

python – 选择性Numpy数组操作(取决于值)【代码】

假设我有以下Numpy数组:array([[3, 5, 0], [7, 0, 2]])我现在想要添加2,其中值不是0.最快的方法是什么?我必须操纵相当大的多维数组?解决方法:在我看来,这:a[a!=0] += 2应该管用. (对于非零测试的有限情况),您可能能够加快速度(您需要及时查看):mask = a.astype(bool) a[mask] += 2当然,如果你可以在不同的位置重复使用相同的掩码,你可以节省掩码计算(这是一个非常严格的约束):mask = a != 0 a[mask] += 2 #some more code .....

cvxopt.matrix和numpy.array之间的python3转换【代码】

python:python3.2cvxopt:1.1.5numpy:1.6.1 我读了http://abel.ee.ucla.edu/cvxopt/examples/tutorial/numpy.htmlimport cvxopt import numpy as np cvxopt.matrix(np.array([[7, 8, 9], [10, 11, 12]]))我有Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: non-numeric element in list通过np.array(cvxopt.matrix([[7,8,9],[10,11,12]])),我得到了array([[b'\x07', b'\n'],[b'\x08', b'\x...

Numpy数组和python属性【代码】

我想在每次设置时对numpy数组的内容执行检查.可以使用python属性吗?我的方法:import numpy as npclass Obj(): def __init__(self): self._np_arr = None @property ...

python – 从numpy.argmax结果中提取numpy数组切片【代码】

我有一个(3,3)numpy数组,想要找出绝对元素的符号值最大值:X = [[-2.1, 2, 3],[ 1, -6.1, 5],[ 0, 1, 1]]s = numpy.argmax(numpy.abs(X),axis=0) 给出了我需要的元素的索引,s = [0,1,1]. 我怎样才能使用这个数组来提取元素[-2.1,-6.1,5]来找出它们的符号?解决方法:试试这个:# You might need to do this to get X as an ndarray (for example if X is a list) X = numpy.asarray(X)# Then you can simply do X[s, [0, 1, 2]...

python – 4D数组的Numpy加权平均值,其中2D数组的权重没有列表理解【代码】

(这个问题类似于Numpy averaging with multi-dimensional weights along an axis,但更复杂.) 我有一个numpy数组,d,d.shape =(16,3,90,144),以及一个numpy数组,e,e.shape =(16,3).我想用e取一个沿轴1的加权平均值.所以输出应该是一个形状为numpy的数组(16,90,144).我可以通过列表理解来实现这一目标:np.array([np.average(d[n], weights=e[n], axis=0) for n in range(16)])但正如在上一个问题中,我想避免必须从列表转换回numpy数组...

numpy vs native Python – 最有效的方式

对于许多函数,可以使用本机Python或numpy来继续. 这是数学函数的情况,可以使用Python本机导入数学,但也可以使用numpy方法.对于数组来说也是这种情况,从numpy和pythons列表推导或元组中得到叙述. 我有两个与Python中的这些功能有关的问题,也有numpy >一般来说,如果方法在原生Python和numpy中可用,那么您更喜欢哪两种解决方案?在效率方面?它是不同的,Python和numpy在他们的过程中会有什么不同?>更具体地说,关于数组和处理数组的基...

python – 具有mpz / mpfr值的numpy数组【代码】

我希望有一个mpz / mpfr值的numpy数组.因为我的代码:import numpy as np import gmpy2 A=np.ones((5,5)); print A/gmpy2.mpfr(1);产生:RuntimeWarning: invalid value encountered in divideprint A/gmpy2.mpfr(1); [[1.0 1.0 1.0 1.0 1.0][1.0 1.0 1.0 1.0 1.0][1.0 1.0 1.0 1.0 1.0][1.0 1.0 1.0 1.0 1.0][1.0 1.0 1.0 1.0 1.0]]据我所知,将gmpy mpfr转换为numpy float64是不可能的.那么我怎么能首先得到一个带有mpfr值的numpy...

由Python Numpy计算的协方差矩阵每次都会改变【代码】

我有一个1043 * 261矩阵,0到1之间的数字非常小,我用numpy.cov()函数计算了1043 * 1043协方差矩阵.我尝试运行代码几次并得到相似(不完全相同)的协方差矩阵,但协方差矩阵中的元素与e-7的比例略有不同.这有时会使协方差矩阵成为非PSD,这对我来说会造成严重的问题. 有谁知道为什么存在差异以及如何解决它? 通过两次运行相同的代码我得到了两个协方差矩阵.如果按元素比较它们,您会看到细微差别:No. 1 [[ 5.05639177e-06 2.44041401...

python – numpy中数组之间的映射【代码】

给定一系列对应关系,我想在一个数组中有一些数据要映射到另一个数组: > originaldata是一个numpy二维数组,> targetdata是另一个numpy 2D数组,> mapping是一个在位置之间进行映射的数组,因此映射[x,y]给出了一对坐标,其中targetdata [x,y]的数据来自originaldata. 到目前为止,我做了这样的事情:for (x,y) in ALLTHEPOINTS:targetdata[x,y]=originaldata[mapping[x,y][0],mapping[x,y][1]]……我怀疑这是非常低效的. 有没有办法对此...

python – 从numpy类型获取位数的简单方法?【代码】

参见英文答案 > Size of data type using NumPy 2个有没有一种简单的方法来获得与特定numpy类型相对应的8位字节数? 我知道我可以这样做:lookup = {np.uint8: 1, np.int8: 1,np.uint16: 2, np.int16: 2, np.uint32: 4, np.int32: 4,np.uint64: 8, np.int64: 8} def getByteSize(dtype):return lookup[dtype]但这看起来有点像kludgey似乎应该有一个内置的方法来检索这些信息.解决方法...