Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何从数组中删除值_Python_Arrays_Numpy_Numpy Ndarray - Fatal编程技术网

Python:如何从数组中删除值

Python:如何从数组中删除值,python,arrays,numpy,numpy-ndarray,Python,Arrays,Numpy,Numpy Ndarray,我的代码中有这个数组,但是我需要删除包含零的行(在本例中是第三行和第四行)。我尝试了一些选择,但都没有成功,有人能给我一些建议来解决这个问题吗 我在数组下面留下: print(AA) array([[2.40258090e+01, 5.46388441e+00], [2.37367092e+01, 1.63425169e+02], [0.00000000e+00, 1.56246202e-01], [1.68035590e+01, 0.00000000e

我的代码中有这个数组,但是我需要删除包含零的行(在本例中是第三行和第四行)。我尝试了一些选择,但都没有成功,有人能给我一些建议来解决这个问题吗

我在数组下面留下:

print(AA)
array([[2.40258090e+01, 5.46388441e+00],
       [2.37367092e+01, 1.63425169e+02],
       [0.00000000e+00, 1.56246202e-01],
       [1.68035590e+01, 0.00000000e+00],
       [1.06032437e+01, 6.41505749e+00]])
基于价值的: 要按值筛选数组,布尔屏蔽可以用作:

a[(a[:,0] != 0) & (a[:,1] != 0)]
此过滤器对数组
a
进行过滤,以仅保留列
0
1
中的值不为零的行;使用按位
运算符

基于索引的: 对于numpy数组,使用
np.delete
将实现以下功能:

np.delete(a, [2,3], axis=0)
其中
a
是数组

请记住,索引是从零开始的,因此第三行和第四行(
axis=0
)被索引为
[2,3]


因此python没有对数组的内置支持。请使用列表

为了回答您的问题,让我们创建一个列表:

lst =   [[2.40258090e+01, 5.46388441e+00],
        [2.37367092e+01, 1.63425169e+02],
        [0.00000000e+00, 1.56246202e-01],
        [1.68035590e+01, 0.00000000e+00],
        [1.06032437e+01, 6.41505749e+00]]

# Now we filter
filtered_lst = [elem for elem in lst if 0 not in elem]
print(filtered_lst)
输出:

[[24.025809, 5.46388441], [23.7367092, 163.425169], [10.6032437, 6.41505749]]

这就是您想要的吗?

使用基本Python删除0行的一种方法

j=1
while j<len(a):
    for i in a[j]:
        if i == 0.0:
            a.remove(a[j])
            j-=1
    j+=1
j=1

而jIt不会,因为在第1行之前没有
将numpy导入为np
。还有,是什么告诉你他在使用numpy的?语法
array([[…])
是标准的
numpy.ndarray
。此外,标签是一个明确的指示。是的,你是对的。我想你比我更了解numpy。这能回答你的问题吗?代码转储不能得到好的答案。您应该解释这是如何以及为什么解决他们的问题的。我建议你读书。”