Python中的Numpy类型提示(PEP 484)

sid*_*dou 8 python numpy pep

我想向采用numpy数组作为输入并返回字符串的方法中添加类型提示。这个numpy数组包含浮点数,所以我尝试了:

import numpy as np
def foo(array: np.ndarray[np.float64]) -> str:
Run Code Online (Sandbox Code Playgroud)

但由于,它无法正常工作TypeError: 'type' object is not subscriptable

我发现了这一点,但无法按照讨论进行!

R H*_*R H 6

查看nptyping。它为numpy数组提供类型提示。

在您的情况下,您最终会得到:

import numpy as np
from nptyping import Array

def foo(array: Array[np.float64]) -> str:
    ...
Run Code Online (Sandbox Code Playgroud)

您还可以检查实例:

arr = np.array([[1.0, 2.0],
                [3.0, 4.0],
                [5.0, 6.0]])
isinstance(arr, Array[np.float64, 3, 2])  # True
Run Code Online (Sandbox Code Playgroud)

  • 如果还可以了解 `ndarray` 方法,例如 `argmax`、`shape` 等,那就太好了。 (2认同)