python - NumPy 相当于 MATLAB size()

标签 python arrays numpy vector size

是否有与 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/

相关文章:

python - 防止 Pandas 将 "NA"读取为 NaN

python - Jupyter 中的 Pandas excel_read 不断出现切片索引错误

python - 为什么请求停止?

python - 如何填充和访问 Django ArrayField?

javascript - 如何在数组对象的嵌套数组的条件上使用 While 循环?

python - 在 pandas DataFrame 中搜索列

Python:保留来自 matplotlib 热图及其图例的 Numpy NaN 值

python - 网页抓取 : Xpath list index out range

java - 将文本文件读取到数组 Java

numpy - 使用 NumPy 避免联合概率的下溢