说我有一个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)
的数组来进行此操作不太方便。