在经历Sklearn Tutorial时,我遇到了这段代码
order_centroids = original_space_centroids.argsort()[:, ::-1]
我不明白:,做什么。
order_centroids中存储的数据是
array([[28060, 36086, 36087, ..., 29380, 28915, 28914],
[28060, 33378, 33379, ..., 9698, 26784, 15313],
[28060, 36209, 36211, ..., 15303, 22350, 48197],
...,
[28060, 36664, 36665, ..., 47821, 32892, 37525],
[56120, 31887, 31888, ..., 9603, 51250, 30224],
[56120, 33902, 33903, ..., 20843, 14948, 30316]])
答案 0 :(得分:2)
逗号分隔数组中每个维度的切片。因此,[:,::-1]从第一个维度获取所有项目,从第二个维度获取所有项目,但是在“步骤”设置为-1的情况下,反转了第二个维度的顺序。
答案 1 :(得分:0)
它只是定义元组的普通逗号运算符。您的代码
order_centroids = original_space_centroids.argsort()[:, ::-1]
等同于
order_centroids = original_space_centroids.argsort().__getitem__(
(slice(None, None, None), slice(None, None, -1)
)