今天必须写个博文mark一下了,错了不知道几百次的弱智问题。
train_x = data[data.label != -1].reset_index(drop=True)#注意!否则报错 train_y = train_x.pop('label').values train_index = train_x[train_x.A == 2018].index.tolist() test_index = train_x[train_x.B == 1016].index.tolist() print(train1_x[train_index], train1_y[train_index]) print(train1_x[test_index], train1_y[test_index]) 12345678
#train1_x是对trainx的列进行某些操作得到的,进行过reset_index(drop=True),所以index连续。如: print(train1_x.index.tolist()) #[1,2,3,4] #而train_x = data[data.label != -1],如果不进行reset_index(drop=True),index会变得不连续。如: print(train_x.index.tolist()) #[1,2,4,5] #在后面需要对train1_x进行操作时,如果前面不对train_x进行reset_index(drop=True),那么train1_x的index找不到5会报错。 1234567