我有一个可能看起来像这样的数组:
ANOVAInputMatrixValuesArray = [[ 0.96488889, 0.73641667, 0.67521429, 0.592875,
0.53172222], [ 0.78008333, 0.5938125, 0.481, 0.39883333, 0.]]
请注意,其中一行的结尾处为零。我想删除任何包含零的行,同时保留所有包含非零值的行。
但是,每次填充时,数组将具有不同的行数,并且零将每次都位于不同的行中。
我使用下面的代码行获取每行中非零元素的数量:
NumNonzeroElementsInRows = (ANOVAInputMatrixValuesArray != 0).sum(1)
对于上面的数组,NumNonzeroElementsInRows
包含:[5 4]
五个表示第0行中的所有可能值都不为零,而四个表示第1行中的可能值之一为零。
因此,我试图使用以下代码行来查找和删除包含零值的行。
for q in range(len(NumNonzeroElementsInRows)):
if NumNonzeroElementsInRows[q] < NumNonzeroElementsInRows.max():
p.delete(ANOVAInputMatrixValuesArray, q, axis=0)
但是由于某种原因,即使执行大量打印命令表明所有变量似乎都正确填充了代码,该代码似乎也无能为力。
必须有一些简单的方法来简单地“删除包含零值的任何行”。
谁能告诉我要编写什么代码来完成此任务?
问题内容: 我有一个尺寸为(48,366,3)的numpy数组,我想从数组中删除最后一列以使其为(48,365,3)。最好的方法是什么?(所有条目都是整数。我使用的是Python v2.6) 问题答案: 您可以尝试: http://docs.scipy.org/doc/numpy/reference/generated/numpy.delete.html 或者只是获取所需的数组切片并将其写入新数组
问题内容: 如何删除二维数组的重复行? 答案应该如下: 如果有两行相同,那么我想删除一个“重复”行。 问题答案: 您可以使用。由于您需要唯一的行,因此我们需要将它们放入元组: _只是应用到_阵列会导致这样的: 打印出列表中的唯一元素 。因此,将它们放入元组会导致: 打印: 更新 在新版本中,您需要设置
问题内容: 我有一个numpy值数组: 我想从数组中删除具有重复值的行。例如,上述数组的结果应为: 我不确定如何使用numpy有效地做到这一点而无需循环(数组可能会很大)。有人知道我该怎么做吗? 问题答案: 这是一个选择:
问题内容: 我想删除彼此跟随的重复项,但不要删除整个数组中的重复项。另外,我想保持顺序不变。 所以如果输入是输出 我找到了一种使用方法,但我正在寻找更快的NumPy解决方案。 问题答案: 一般的想法是用来查找数组中两个连续元素之间的差异。然后我们只索引那些给出差异元素的索引。但由于长度 是1那么短的索引之前,我们需要对涉及diff阵列的开始。 说明:
问题内容: 我运行,其中返回的列表,即和: 是一个二维数组,在底部具有旋转的零线(即使在我的测试集中的所有示例中都得到了证明): 。现在,我想分为两个矩阵: 和: (提取所有零线)。似乎接近此解决方案:删除numpy array中的行 。 编辑: 更加有趣:返回-matrix。不,我期望的是: 问题答案: 使用带有参数:
问题内容: 我正在使用2D形状数组存储经度和纬度对。一方面,我必须合并两个2D数组,然后删除所有重复的条目。我一直在寻找类似于numpy.unique的函数,但是我没有运气。我一直在考虑的任何实现都看起来“没有优化”。例如,我正在尝试将数组转换为元组列表,使用set删除重复项,然后再次转换为数组: 是否有任何现有的解决方案,所以我不会重新发明轮子吗? 为了清楚起见,我在寻找: 顺便说一句,我只想使