草庐IT

python - Python 中数组的 2D 和 3D 散点直方图

你知道我如何将3个数组合并为直方图吗?我的阵列看起来像Temperature=[4,3,1,4,6,7,8,3,1]Radius=[0,2,3,4,0,1,2,10,7]Density=[1,10,2,24,7,10,21,102,203]一维图应该是这样的:Density|X10^2-|X|X10^1-||X10^0-||___|___|___|___|___Radius03.36.610二维图应该(定性)如下所示:Density|2||10^2-|11249|||233||Radius10^1-|12|||1||10^0-||___|___|___|___|___Temperatu

python - 如何修改 2d 散点图以显示基于 csv 文件中第三个数组的颜色?

我正在使用Python和CSV文件。我目前正在尝试修改下面的散点图(2d)以根据我的csv文件中的第三列更改颜色。搜索多个帖子后,我基本上想使用通用颜色图(彩虹)并将我的第三个数组乘以颜色图,以便为每个xy点显示不同的颜色。我想我可以通过ax.scatter函数完成所有操作,但我不确定如何将每个不同的x、y坐标乘以颜色图和第三个数组编号。它看起来应该类似于等高线图,但我更喜欢不同颜色的散点图。这是我使用的代码:importmatplotlibfrommatplotlib.backends.backend_aggimportFigureCanvasAggasFigureCanvasfro

python - 从三个 1D numpy 数组填充 2D numpy 数组

是否有一种有效的方法可以在不使用循环的情况下从未排序的坐标点(即并非所有经度和/或纬度都升序或降序)创建值的二维数组?示例数据lats=np.array([45.5,45.5,45.5,65.3,65.3,65.3,43.2,43.2,43.2,65.3])lons=np.array([102.5,5.5,116.2,102.5,5.5,116.2,102.5,5.5,116.2,100])vals=np.array([3,4,5,6,7,7,9,1,0,4])示例输出每列代表一个唯一的经度(102.5、5.5、116.2和100),每列代表一个唯一的纬度(45.5、65.3和43.2

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