2024-04-19 06:10:28 发布
网友
所以我得到了一个numpy的shape数组(31641600,2),其中有一些零值。在
我们把数组称为X
正在做:
print len(X) >>> 31641600
但接下来要做的是:
不明白为什么第二个更大。在Documentation上,它说应用上述方法应该只返回非零值,因此X的长度应该更小。在
有什么想法吗?谢谢您。在
这可能是因为len(X)只返回X沿第一个轴的长度。当你这么做的时候
len(X)
X
X = X[np.nonzero(X)]
你得到了一个1D数组,所以如果你在X中有少于50%的零,len(X)将增加。在
考虑:
这是因为X[np.nonzero(X)]是一个43人的数组:
X[np.nonzero(X)]
In [7]: X[np.nonzero(X)].shape Out[7]: (43,)
根据评论进行更新:如果您确实想要第一个元素非零的所有对,可以执行以下操作:
X = X[ X[:, 0] != 0 ]
这可能是因为
len(X)
只返回X
沿第一个轴的长度。当你这么做的时候你得到了一个1D数组,所以如果你在
X
中有少于50%的零,len(X)
将增加。在考虑:
^{pr2}$这是因为
X[np.nonzero(X)]
是一个43人的数组:根据评论进行更新:如果您确实想要第一个元素非零的所有对,可以执行以下操作:
相关问题 更多 >
编程相关推荐