iris = datasets.load_iris()
X = iris.data
y = iris.target
X = X[y != 0, :2]
y = y[y != 0]
第四行 X = X[y != 0, :2]是什么意思?
len(X)#150
X[y != 0]#150
X[y != 0, :2]#150
请教各位
官方文档里只有 s[i:j]和 s[i:j:k]两种操作
iris = datasets.load_iris()
X = iris.data
y = iris.target
X = X[y != 0, :2]
y = y[y != 0]
第四行 X = X[y != 0, :2]是什么意思?
len(X)#150
X[y != 0]#150
X[y != 0, :2]#150
请教各位
官方文档里只有 s[i:j]和 s[i:j:k]两种操作
|
cizixsJun 15, 2017
1
bool 值可以作为 0,1 使用
|
|
kaka826Jun 15, 2017
2
y != 0 这个表达式的值为 True or False,
显然在 slice 中,True 是 1, False 是 0 |
|
flaneurseJun 15, 2017 via Android
3
顿悟,谢谢楼上
|
|
fedelJun 15, 2017
4
你有运行过 X = X[y != 0, :2] 吗???
|
|
XYxeJun 15, 2017
5
|
|
hareandlionJun 15, 2017 via iPhone
6
numpy 数组的行列可以单独切片
|
|
glasslionJun 15, 2017
8
@flaneurse 你楼上的解释是错误的
y == [0,0,0,1,1,1,2,2,2] y !=0 == [False, False, False, True, True,True, True,True,True,] y[y != 0] == [1,1,1,2,2,2] |
|
9
@fedel 这当然是 python 2.7 3.4 的语法, 重载了 __getitem__ 而已
class C(object): ...: def __getitem__(self, val): ...: print val >>> c= C() >>> c[1,2:3] (1, slice(2, 3, None)) |