當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy result_type用法及代碼示例


本文簡要介紹 python 語言中 numpy.result_type 的用法。

用法:

numpy.result_type(*arrays_and_dtypes)

返回將 NumPy 類型提升規則應用於參數所產生的類型。

NumPy 中的類型提升與 C++ 等語言中的規則類似,但略有不同。當同時使用標量和數組時,數組的類型優先並考慮標量的實際值。

例如,計算 3*a,其中 a 是一個 32 位浮點數的數組,直觀地應該得到一個 32 位浮點數輸出。如果 3 是 32 位整數,NumPy 規則表明它不能無損轉換為 32 位浮點數,因此結果類型應為 64 位浮點數。通過檢查常量 ‘3’ 的值,我們看到它適合 8 位整數,可以無損地轉換為 32 位浮點數。

參數

arrays_and_dtypes 數組和數據類型列表

需要其結果類型的某些操作的操作數。

返回

out 類型

結果類型。

注意

使用的具體算法如下。

通過首先檢查所有數組和標量的最大類型是布爾值、整數 (int/uint) 還是浮點數 (float/complex) 來確定類別。

如果隻有標量或標量的最大類別高於數組的最大類別,則將數據類型與 promote_types 組合以產生返回值。

否則,在每個數組上調用 min_scalar_type ,並將結果數據類型全部與 promote_types 組合以產生返回值。

int 值集不是具有相同位數的類型的 uint 值的子集,這在 min_scalar_type 中沒有反映,但在 result_type 中作為特殊情況處理。

例子

>>> np.result_type(3, np.arange(7, dtype='i1'))
dtype('int8')
>>> np.result_type('i4', 'c8')
dtype('complex128')
>>> np.result_type(3.0, -2)
dtype('float64')

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.result_type。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。