我真的不明白为什么常规索引不能用于np.delete.是什么让np.s_如此特别?
例如,使用此代码,用于删除此数组的某些行.
inlet_names = np.delete(inlet_names, np.s_[1:9], axis = 0)
为什么我不能简单地使用常规索引并做..
inlet_names = np.delete(inlet_names, [1:9], axis = 0)
要么
inlet_names = np.delete(inlet_names, inlet_names[1:9], axis = 0)
从我可以收集的内容来看,np.s_与np.index_exp相同,除了它不返回元组,但两者都可以在Python代码中的任何地方使用.
然后,当我查看np.delete函数时,它表明您可以使用类似的东西[1,2,3]删除整个数组中的那些特定索引.那么什么阻止我使用类似的东西删除数组中的某些行或列?
我只是假设这种类型的索引在np.delete中被读取为其他东西所以你需要使用np.s_来指定,但我无法深入了解它究竟是什么读取它因为当我尝试第二段代码时,它只返回"无效语法".这很奇怪,因为这段代码有效......
inlet_names = np.delete(inlet_names, [1,2,3,4,5,6,7,8,9], axis = 0)   
所以我想答案可能是np.delete只接受你想要删除的索引列表.并且np._s返回您为切片指定的索引列表.
只是可以对我刚才所说的关于可能错误的函数的任何内容进行一些澄清和一些修正,因为很多这只是我的看法,文档并没有完全解释我试图理解的所有内容.我想我只是在思考这个问题,但我想真正理解它,如果有人能解释的话.