我正在为大学做一个机器学习项目,我在理解一些在线代码时遇到了困难。示例如下:
digits = np.loadtxt(raw_data, delimiter=",")
x_train, y_train = digits[:,:-1], digits[:,-1:].squeeze()
第二行中的切片是什么意思?我试着做一个切片,选择数组的前2/3,我以前做过类似[:2*array_elements // 3]
的东西,但我不知道如何做,如果有一半的分隔符。
发布于 2018-12-07 07:03:43
numpy (或者任何东西,但这看起来像numpy)可以实现__getitem__
来接受元组,而不是stdlib所做的,其中只接受标量值(afaik) (例如整数、字符串、切片对象)。
您希望按照,
分隔符的指定,分别查看切片“部分”。所以[:,:-1]
实际上是:
和:-1
,是完全独立的。
第一个切片
:
是"all",不会沿着该轴进行切片。
在(不包括) x
之前,:x
都是有效的,而-1
表示最后一个元素,所以...
:-1
一直持续到(不包括)最后一天。
第二个切片
x:
是在(包括) x
之后的,我们已经知道了-1
,所以...
-1:
是最后一个(包括) --在本例中就是最后一个。
https://stackoverflow.com/questions/53660926
复制相似问题