点列表[NumPy]

时间:2018-08-15 14:03:03

标签: python arrays numpy coordinates

说我有一个N个点的列表,每个点都具有d坐标。可以选择将其表示为形状为numpy array的形式:
-(d, N)
-(N, d)
在数学上是等效的。

问题。是否有选择通用准则/良好实践原则?从计算上来说,numpy在设计时会考虑一个选择吗?

赞成(N, d)的解释。 如果要在电子表格中存储点列表的坐标,那么我会发现垂直(向下)浏览列表并水平通过坐标更自然(或者仅仅是我吗?)。换句话说,电子表格的每一行都对应于Python tuple(固定长度,不可变),而电子表格则对应于此类list的Python tuple。电子表格中的坐标数是固定的,但是可以向列表中添加(或删除)更多的点,因此该列表的长度不受限制,我发现垂直滚动比水平滚动更容易。

示例。 在k均值聚类算法中,人们希望计算每个N个点与每个k个聚类中心(所有聚类具有d坐标)之间的距离。我从this article开始学习一种利用广播的方法。如果X是采样点形状为(N, d)的数组,而C是形状为(k, d)的数组,则可以通过采用元素的长度为的方式方便地计算距离数组

X - C[:, None]  
形状为(k, N, d)

。 分别使用形状为(d, N)(d, k)的数组来进行此操作不太方便。

0 个答案:

没有答案