草庐IT

python - 在 2D 数组上创建 4D View 以将其划分为固定大小的单元格

我在numpy中有一个二维数组t:>>>t=numpy.array(range(81)).reshape((9,9))>>>tarray([[0,1,2,3,4,5,6,7,8],[9,10,11,12,13,14,15,16,17],[18,19,20,21,22,23,24,25,26],[27,28,29,30,31,32,33,34,35],[36,37,38,39,40,41,42,43,44],[45,46,47,48,49,50,51,52,53],[54,55,56,57,58,59,60,61,62],[63,64,65,66,67,68,69,70,71],[72,

python - 如何将 hist2d 图的无数据区域设置为零值颜色?

我正在跟踪对象在计算机屏幕特定区域的注视。我正在使用pyplot的hist2d函数构建凝视热图。这是一个简单的例子:figure()hist2d(xval,yval,bins=1000)xlim([-6,6])ylim([-4.5,4.5])如您所见,有一个重要区域超出了我的数据范围。但是,我想将此区域设置为蓝色,表示零值。我第一次尝试使用imshow可以在这里看到:figure()imshow(np.array([[0]*8]*12),extent=[-6,6,-4.5,4.5])hist2d(xval,yval,bins=1000)xlim([-6,6])ylim([-4.5,4.

python - 交叉多个 2D np 数组以确定区域

使用这个可重现的小示例,到目前为止,我无法从3个数组生成一个新的整数数组,该数组包含所有三个输入数组的唯一分组。数组与地形属性有关:importnumpyasnpasp=np.array([8,1,1,2,7,8,2,3,7,6,4,3,6,5,5,4]).reshape((4,4))#aspectslp=np.array([9,10,10,9,9,12,12,9,10,11,11,9,9,9,9,9]).reshape((4,4))#slopeelv=np.array([13,14,14,13,14,15,16,14,14,15,16,14,13,14,14,13]).reshape

python - 插入缺失值 2d python

我有一个二维数组(如果你愿意,也可以是矩阵),其中一些缺失值表示为南。缺失值通常位于一个轴上的strip中,例如:123NaN5234Nan634NanNan745NanNan856789我想用一些合理的数字替换NaN。我研究了delaunay三角剖分,但发现的文档很少。我尝试使用astropy'sconvolve因为它支持使用二维数组,而且非常简单。这个问题是卷积不是插值,它将所有值移向平均值(可以通过使用窄内核来缓解)。这道题应该是thispost的自然二维扩展.有没有办法对二维数组中的NaN/缺失值进行插值? 最佳答案 是的,

python - 如何将标准输入读取为 2d python 整数数组?

我想在Python中从标准输入(或文件)读取一个二维整数数组。非工作代码:fromStringIOimportStringIOfromarrayimportarray#fakestdinstdin=StringIO("""123456""")a=array('i')a.fromstring(stdin.read())这给了我一个错误:a.fromstring(stdin.read())ValueError:字符串长度不是项目大小的倍数 最佳答案 有几种方法可以实现这一点。以下是一些可能性。使用数组来自列表将问题中的最后一行代码替换为

Python OpenCV Box2D

我正在尝试从python中调用OpenCV函数MinAreaRect2。我将OpenCV2.4.2与python2.7和numpy1.6一起使用。我走了这么远:importcvdefnda2ipl(arr,dtype=None):returncv.fromarray(np.ascontiguousarray(arr,dtype=dtype))defmin_area_rect2(points):storage=cv.CreateMemStorage()cv_points=nda2ipl(points.reshape((-1,1,2)))out=cv.MinAreaRect2(cv_poi

Python将3d数组 reshape 为2d

我想按照描绘的那样reshapenumpy数组,从3D到2D。不幸的是,顺序不正确。假设有一个numpy数组(1024,64,100)并想将其转换为(1024*100,64)。有人知道如何维持秩序吗?我有一个示例数据data[0,0,0]=1data[0,1,0]=2data[0,2,0]=3data[0,3,0]=4data[1,0,0]=5data[1,1,0]=6data[1,2,0]=7data[1,3,0]=8data[2,0,0]=9data[2,1,0]=10data[2,2,0]=11data[2,3,0]=12data[0,0,1]=20data[0,1,1]=21d

python - 当多个列值已知时获取 2D numPy 数组的行索引

假设我有一个2DnumPy数组,例如:a=[[1,2,3],[4,5,6],[7,8,9]]如何找到我知道多个值的行的索引?例如,如果已知第0列为2,第1列为5,我想知道满足此条件的行索引(在本例中为第1行)。在我的应用程序中,前两列是(x,y)坐标,第三列是有关该坐标的信息。我试图在列表中查找特定坐标,以便我可以更改第三列中的值。编辑:为了澄清,这是一个非正方形的例子:a=[[1,2,3,4,5,6],[7,8,9,10,11,12],[13,14,15,16,17,18]]假设我知道我要查找的行在第0列中有13个,在第1列中有14个。我想返回该行的索引。在这种情况下,我想返回索引2

python - 如何从 2D numpy 数组中删除第一行和最后一行和最后一列?

我想知道如何从numpy中的二维数组中删除第一行和最后一行和最后一列。例如,假设我们有一个名为H的(N+1)x(N+1)矩阵,那么在MATLAB/Octave中,我将使用的代码是:Hsub=H(2:N,2:N);Numpy中的等效代码是什么?我以为np.reshape可能会做我想做的事,但我不确定如何让它只删除目标行,因为我认为如果我reshape为(N-1)x(N-1)矩阵,它'将删除最后两行和两列。 最佳答案 这个怎么样?Hsub=H[1:-1,1:-1]1:-1范围意味着我们从第二个索引或1访问元素,然后我们上升到倒数第二个索

python - 使用 Line2D 在 matplotlib 中绘制线条

我有数据:x=[10,24,23,23,3]y=[12,2,3,4,2]我想用matplotlib.lines.Line2D(xdata,ydata)绘制它.我试过:importmatplotlib.linesmatplotlib.lines.Line2D(x,y)但是我该如何显示这条线呢? 最佳答案 您应该将线添加到绘图中,然后显示它:In[13]:importmatplotlib.pyplotaspltIn[15]:frommatplotlib.linesimportLine2DIn[16]:fig=plt.figure()In