草庐IT

numpy-ndarray

全部标签

python - 如何有效地翻转多维 numpy 数组?

这个问题在这里已经有了答案:numpyreversemultidimensionalarray(2个答案)关闭9年前。假设我有一个数组>>>a[[[0,1,2],[3,4,5],[6,7,8]],[[10,11,12],[13,14,15],[16,17,18]]]我想围绕一个轴翻转以结束>>>aflipped[[[2,1,0],[5,4,3],[8,7,6]],[[12,11,10],[15,14,13],[18,17,16]]]我想用某种方式来做这件事>>>aflipped=a[::-1][::1][::1]或>>>>aflipped=flipud(a)表示法,因为我知道这是非常快

Python/numpy定位Runtime Warning

我在应用程序服务器上有一个numpy脚本,它被调用了数千次,而且在极难得的情况下我会收到运行时警告:/usr/local/lib/python2.7/dist-packages/scipy/stats/stats.py:2417:RuntimeWarning:invalidvalueencounteredindouble_scalarsr=(r_num/r_den)不确定发生在何处。为什么会这样。它对代码的影响(如果有的话)。一切都通过了眼睛测试和单元测试。但是我再次不确定我是否在寻找正确的地方,因为这种警告发生的可能性小于1%如何让python打印出警告的位置?

python - numpy.polyval() 的反函数

我想知道np.polyval()是否有一个方便的反函数,我在其中给出y值并求解x?我知道我可以这样做的一种方法是:importnumpyasnp#Setupthequestionp=np.array([1,1,-10])y=100#Solvep_temp=pp_temp[-1]-=yx=np.roots(p_temp)但是我的猜测是大多数人会同意这段代码的可读性低。有什么建议吗? 最佳答案 这样的事情怎么样?In[19]:p=np.poly1d([1,1,-10])#Useapoly1dtorepresentthepolynomia

python - 如何将numpy数组更改为灰度opencv图像

如何在python中将numpy数组转换为灰度opencv图像?经过一些处理后,我得到了一个具有以下属性的数组:最大值为:0.99999999988,最小值为8.269656407e-08,类型为:.我可以使用cv2.imshow()将其显示为图像功能,但我无法将其传递给cv2.AdaptiveTreshold()功能,因为它有错误的类型:error:(-215)src.type()==CV_8UC1infunctioncv::adaptiveThreshold如何将这个np.array转换为正确的格式? 最佳答案 正如断言所述,a

使用 NumPy 数据类型的 Python 字典查找速度

背景我在NumPy数组中有很多数字消息代码,我需要快速将它们转换为字符串。我在性能方面遇到了一些问题,想了解原因以及如何快速解决。一些基准I-简单的方法importnumpyasnp#dictionarytouseasthelookupdictionarylookupdict={1:"val1",2:"val2",27:"val3",35:"val4",59:"val5"}#sometestdataarr=np.random.choice(lookupdict.keys(),1000000)#createalistofwordslookedupres=[lookupdict[k]for

Python NUMPY HUGE 矩阵乘法

我需要将两个大矩阵相乘并对它们的列进行排序。importnumpya=numpy.random.rand(1000000,100)b=numpy.random.rand(300000,100)c=numpy.dot(b,a.T)sorted=[argsort(j)[:10]forjinc.T]此过程需要大量时间和内存。有没有办法加快这个过程?如果不是,我如何计算执行此操作所需的RAM?我目前有一个带有4GBRAM且没有交换空间的EC2盒子。我想知道这个操作是否可以序列化,我不必将所有内容都存储在内存中。 最佳答案 为了加快速度,您可

python - 用于复杂 numpy 数组的 Json 编码器和解码器

我正在尝试对一个复杂的numpy数组进行JSON编码,为此我从astropy(http://astropy.readthedocs.org/en/latest/_modules/astropy/utils/misc.html#JsonCustomEncoder)中找到了一个实用程序:importnumpyasnpclassJsonCustomEncoder(json.JSONEncoder):""""""defdefault(self,obj):ifisinstance(obj,(np.ndarray,np.number)):returnobj.tolist()elifisinstan

python - 没有迭代器和/或循环的 Numpy 数组的组合/笛卡尔积

这个问题在这里已经有了答案:Cartesianproductofxandyarraypointsintosinglearrayof2Dpoints(17个答案)关闭7年前。下面的代码importnumpyasnpimportitertoolsa_p1=np.arange(0,4,1)a_p2=np.arange(20,25,1)params=itertools.product(a_p1,a_p2)for(p1,p2)inparams:print(p1,p2)输出(0,20)(0,21)(0,22)(0,23)(0,24)(1,20)(1,21)(1,22)(1,23)(1,24)(2,

python - 从作为 Numpy 数组的图像裁剪边界框

所以我有一个形状为(224,244,3)作为ndarray的图像。我有一个看起来像这样的图像的边界框注释{annotations:[{class:"rect",height:172,width:341,x:282,y:165},{class:"rect",height:172,width:353,x:592,y:90}],class:"image",filename:"img_05974.jpg"}我如何裁剪numpy数组,以便它给我一个像上面的边界矩形一样的图像? 最佳答案 原则上,只需从数组中切出正确的部分即可轻松完成裁剪。例如

python - 使用 numpy 产生 2D 柏林噪声

我正在尝试使用numpy生成2Dperlin噪声,但我得到的不是平滑的东西:mybrokenperlinnoise,withuglysquareseverywhere可以肯定的是,我在某处混淆了我的尺寸,可能是在我将四个梯度组合在一起时……但我找不到它,我的大脑现在正在融化。谁能帮我查明问题所在?无论如何,这是代码:%matplotlibinlineimportnumpyasnpimportmatplotlib.pyplotaspltdefperlin(x,y,seed=0):#permutationtablenp.random.seed(seed)p=np.arange(256,dt