为了账号安全,请及时绑定邮箱和手机立即绑定

为什么Numpy中的0d数组不视为标量?

为什么Numpy中的0d数组不视为标量?

慕丝7291255 2019-12-26 09:25:53
当然,0d数组是标量的,但是Numpy似乎并不这么认为...我是否缺少某些内容?还是我只是误解了这个概念?>>> foo = numpy.array(1.11111111111, numpy.float64)>>> numpy.ndim(foo)0>>> numpy.isscalar(foo)False>>> foo.item()1.11111111111
查看完整描述

3 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

您必须稍微不同地创建标量数组:


>>> x = numpy.float64(1.111)

>>> x

1.111

>>> numpy.isscalar(x)

True

>>> numpy.ndim(x)

0

从纯粹的数学观点来看,numpy中的标量看起来可能与您习惯的概念有所不同。我猜您在考虑标量矩阵?


查看完整回答
反对 回复 2019-12-26
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

其中很多似乎是观察事物的matlab方式- “您实际上不能增长Numpy标量” -也不能增长np.array。明确说明大小会增加意外O(N ^ 2)行为的难度。“它不能定义为ndarray” -就是np.asarray(scalar)这样。“ 1x1矩阵...” -在这里将事物视为固有的2D或矩阵是无济于事的 

查看完整回答
反对 回复 2019-12-26
  • 3 回答
  • 0 关注
  • 726 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信