【python-Numpy.eig和PCA中的方差百分比】教程文章相关的互联网学习教程文章

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似乎应该有一个内置的方法来检索这些信息.解决方法...

python – Numpy inpaint nans插值和外推【代码】

我正在研究一个使用numpy和scipy的项目,我需要填写nanvalues.目前我使用scipy.interpolate.rbf,但它一直导致python崩溃,所以严重尝试/除了甚至不会保存它.然而,在运行几次之后,似乎它可能会在中间数据被所有nans包围的情况下继续失败,例如岛屿.有没有更好的解决方案,不会崩溃? 顺便说一句,这是我需要推断的大量数据.有时多达一半的图像(7070,灰度),但它不需要是完美的.它是图像拼接程序的一部分,因此只要它与实际数据类似,它就可以...

python – 在numpy数组中查找负值和正值【代码】

我有一个numpy数组包含m / s风速数据.负值和正值都有.现在我需要计算风速的平均数量超过负值,并对正值进行相同的计算.这可能吗 ?数据保留在数组中非常重要.我曾尝试使用numpy.average,但没有成功,因为他将整个数组的平均值都作为正值和负值. 谢谢!解决方法:关于numpy的好处是你可以写下这样的东西:negavg = numpy.mean(windspeed[windspeed < 0.0])posavg = numpy.mean(windspeed[windspeed > 0.0])

高维中的Python Numpy矩阵乘法【代码】

我试图在numpy中寻找矩阵运算,这将加速以下计算. 我有两个3D矩阵A和B.第一个维度表示示例,并且它们都有n_examples示例.我想要实现的是在A和B中对每个例子加点产品并对结果求和:import numpy as npn_examples = 10 A = np.random.randn(n_examples, 20,30) B = np.random.randn(n_examples, 30,5) sum = np.zeros([20,5]) for i in range(len(A)):sum += np.dot(A[i],B[i])解决方法:这是np.tensordot()的典型应用程序:sum = np.te...