我必须删除数组的最后三行。它是一个列表,但我必须把它转换成数组,以便我可以使用np.删除功能
我试过了np.删除功能。它按列而不是按行删除。你知道吗
我想删除行而不是列。当我把轴改成1的时候。它给出了AxisError的错误消息:轴1超出维度1数组的界限
featureStr2=np.delete(f, slice(3,-1), axis=0)
。我想删除最后3行。数组如下所示
1 2 3 4 5
6 7 8 9 20
11 23 54 6 7
2 3 4 5 6 7
1 2 3 4 5
代码的输出是。我希望输出删除最后3行。你知道吗
Tags:
不要在numpy中删除。删除会触发重新分配,这很昂贵。便宜(合适)的解决方案是使用索引创建视图:
最简单的方法就是使用基本的索引
你知道吗np.删除(arr,obj,axis=None)在其object参数中不采用负索引
另外,如果数组的大小很大,那么提供要删除的每一行、每一列或每一个元素的索引就变得单调乏味。你知道吗
但是通过使用
np.s_
,可以为函数提供一个切片可以为
np.s_
提供负索引您需要的是轴和对象:
语法:
numpy.delete(arr, obj, axis=None)
对象:是行号、列号或索引
轴:行为0,列为1
我假设你的数组是这样的。你知道吗
请注意np.删除不支持负索引,将来会支持,所以我建议您首先获取要删除的行的索引,然后将其传递给中的objnp.删除()
相关问题 更多 >
编程相关推荐