是否有与 MATLAB size()
等效的工具NumPy 中的命令?我发现了另一个与此类似的问题( size of NumPy array ),但我们的问题不一样。他们有一个数组,所以 size()
和shape()
功能应该可以正常工作。
就我而言,在某些情况下我有一个向量,在其他情况下我有一个数组。我想使用类似的东西:
a = [ 20, 30, 40, 45, 50, 60] # angles
alpha = np.array(a)
[mm,nn] = size(alpha)
我希望它返回[mm, nn] = (6,1)
,但是alpha.shape
返回(6,)
。这会带来一个问题,因为代码的下一部分是 for 循环:
for i in range(nn):
print (i) #do stuff
for ii in range(mm):
print (ii) #do stuff
在这种情况下,我有一个向量,所以 len(alpha)
可以正常工作,但有时 alpha 是一个数组。我想我可以使用:
mm = alpha.size
nn = alpha.size/len(alpha)
但是,我想会有更好的方法。有没有像 [mm,nn] = size(alpha)
这样的命令在 MATLAB 中?
最佳答案
.shape()
返回一个元组。由于我们可以检查元组的长度,因此我们可以定义一个自定义 size()
函数,如果数组是一维数组,该函数会插入 1
:
def size(arr):
if len(arr.shape) == 1:
return arr.shape[0], 1
return arr.shape
关于python - NumPy 相当于 MATLAB size(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71504007/