我的函数(名为CovexHull(point))将参数作为二维数组接受:
hull = ConvexHull(points)
会话
In [1]: points.ndim
Out[1]: 2
In [2]: points.shape
Out[2]: (10, 2)
In [3]: points
Out[3]:
array([[ 0. , 0. ],
[ 1. , 0.8],
[ 0.9, 0.8],
[ 0.9, 0.7],
[ 0.9, 0.6],
[ 0.8, 0.5],
[ 0.8, 0.5],
[ 0.7, 0.5],
[ 0.1, 0. ],
[ 0. , 0. ]])
- points* 是一个 ndim 为2的NumPy数组。
我有两个不同的NumPy数组(tp和fp),如下所示:
In [4]: fp.ndim
Out[4]: 1
In [5]: fp.shape
Out[5]: (10,)
In [6]: fp
Out[6]:
array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.4,
0.5, 0.6, 0.9, 1. ])
如何使用 tp 和 fp 有效地创建一个二维NumPy数组(如上面提到的 points)?
3条答案
按热度按时间z6psavjg1#
如果您希望将两个10个元素的一维数组合并为一个二维数组,
np.vstack((tp, fp)).T
可以完成此操作。np.vstack((tp, fp))
将返回shape(2,10)的数组,并且T
属性返回具有shape(10,2)的转置数组(即,具有形成列而不是行的两个一维数组)。sauutmhj2#
您可以使用NumPy的column_stack:
aiazj4mn3#
另一种方法是使用
np.transpose
,它看起来偶尔会被使用,但不是可读的,所以使用Aminu Kano's answer是个好主意。