【问题标题】:|, > and < in numpy datatype|、> 和 < 在 numpy 数据类型中
【发布时间】:2016-07-05 02:42:59
【问题描述】:

这可能是一个非常愚蠢的问题,但我尝试用谷歌搜索诸如 less and greater signs in data type of numpy 之类的关键字,但没有找到参考。

numpydoc中,

x = np.array([(1.0, 2), (3.0, 4)], dtype=[('x', float), ('y', int)])

输出

array([(1.0, 2), (3.0, 4)],
      dtype=[('x', '<f8'), ('y', '<i4')])

但在我的电脑上,输出是

array([(1.0, 2), (3.0, 4)],
      dtype=[('x', '>f8'), ('y', '>i4')])

dtype 中的&lt;&gt; 是什么意思,为什么会有区别?

【问题讨论】:

  • 我的猜测是它类似于“little/big endian int/float #bits”......可能取决于系统。
  • 我同意,这是文档中令人讨厌的疏忽。我看了herehere 并没有提到它。

标签: python numpy


【解决方案1】:

关键字&lt;&gt; 代表byte ordering,又名字节序。它是数字中字节的存储顺序(当数字由超过 1 个字节组成时,例如 int16、int32、float32...)。 This page from the reference 在 numpy 中为您提供所需的所有信息,但作为摘要:

  • | :它没有字节顺序,因为它是冗余的(在单字节数字或字符串上)

  • &lt;:小端序

  • &gt; : 大端

正如@tobias_k 和@RobertKern 指出的那样,默认字节序,如果未指定,则取决于系统。

【讨论】:

  • 默认确实是系统依赖的,本质上是由CPU决定的,不是版本依赖的。
猜你喜欢
  • 2016-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多