python - 检查numpy数组是否具有正常形状
问题描述
如何检查numpy
数组是否具有规则形状。
在下面的示例中x
是一个*2 by 3*
矩阵。然而y
,在不能表示为适当矩阵的意义上,它是不规则的。
鉴于我有一个numpy
数组,是否有一种方法(最好是内置的)我可以用来检查该numpy
数组是否是一个实际的矩阵
In [9]: import numpy as np
In [10]: x = np.array([[1,2,3],[4,5,6]])
In [11]: x.shape
Out[11]: (2, 3)
In [12]: y = np.array([[1,2,3],[4,5]])
In [13]: y.shape
Out[13]: (2,)
解决方案
两者都是数组,并且是有效的形状。但是,对于normal,您的意思是每个元素的形状和长度都相同。为此,更好的方法是检查数据类型。对于可变长度的情况,它将是object
. 因此,我们可以检查该条件并相应地调用。因此,只需执行 -
def is_normal_arr(a): # a is input array to be tested
return a.dtype is not np.dtype('object')
推荐阅读
- node.js - 如何从 OU @activedirectory 获取用户
- .net-core - 如何在导航上禁用 Blazor URL 重写
- reactjs - 如何从 React 中的 API 仅显示一个用户的数据?
- python - 将 jsonb 字段的值转换为日期时间字段,然后对其进行查询会引发错误
- python - 关于多堆栈应用程序中的夏令时的另一个问题
- r - R中的LSTM时间序列模型
- python - 在最新的 python 更新后读取具有长路径(> 256 个字符)的文件时出现问题
- redis - 在同一台机器上运行多个redis实例时计算redis最大内存
- java - IntelliJ IDEA Live Template 生成日志语句
- c++ - c++ 通过迭代器映射线程安全行为