【问题标题】:What are Numpy Scalars and Array Scalars什么是 Numpy 标量和数组标量
【发布时间】:2021-11-14 17:38:01
【问题描述】:

我正在尝试学习 NumPy 的基本概念,但无法解决一些问题。我正在关注这个 NumPy documentation

标量 Python 只定义了特定数据类的一种类型(只有一种整数类型、一种浮点类型等)。这在不需要关心数据在计算机中表示的所有方式的应用程序中很方便。然而,对于科学计算,通常需要更多的控制。 这里标量是指单个值?

在 NumPy 中,有 24 种新的基本 Python 类型来描述不同类型的标量。这些类型描述符主要基于编写 CPython 的 C 语言中可用的类型,还有几种与 Python 的类型兼容的附加类型。 这里的python 类型是什么意思?虽然它说它基于 C 语言类型。

数组标量具有与 ndarrays 相同的属性和方法。这允许人们在与数组相同的基础上部分处理数组的项目,从而平滑混合标量和数组操作时产生的粗糙边缘。 绝对不知道数组标量是什么?在搜索时找到了this,但仍然令人困惑

Interestingly, the array scalars can have some array-like attributes. The only missing attribute is ctype.

如果数组标量具有与 ndarrays 相同的属性?那么该用哪一个呢?

【问题讨论】:

  • 通常我们不会直接创建numpy 标量。我们根据需要制作一个数组。从数组中选择一个元素会给我们一个 numoy 标量。

标签: python arrays numpy numpy-ndarray scalar


【解决方案1】:

这里的标量是指单值吗?

是的,例如整数或浮点数。

这里的python类型是什么意思?虽然它说它基于 C 语言类型。

你在 python 中拥有的所有东西都是 python 类型的。函数、浮点数、类、日期时间......他们说 numpy 类型是基于 C 类型的。

绝对不知道数组标量是什么?

如果你索引到一个 numpy 数组,你会得到一个数组标量。例如。如果你有一个 float64 类型的数组,并且你取出第一个值,你会得到一个 float64 类型的数组标量,它与 python 的 float 不同。见https://stackoverflow.com/a/49581266/2640045

如果数组标量具有与 ndarrays 相同的属性?那该用哪一个呢?

你应该使用 ndarrays。顺便说一句,这与 numpy 数组相同。我认为数组标量是一种技术性,与普通的 python 浮点数和整数相比,你很少需要考虑不同的问题...。

【讨论】:

    猜你喜欢
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 2018-12-18
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    相关资源
    最近更新 更多