python numpy中sum 時出現負值

2022-08-25 21:54:21 字數 501 閱讀 9294

import numpy

a=numpy.random.randint(1, 4095, (5000,5000))

a.sum()

結果為負值, 這是錯誤的,a.sum()的型別為 int32,如何做才能是結果顯示正確呢?按照如下做法:

c=numpy.int64(a).sum()

結果為正直,正確,c的型別為int64. 原因為下面,結果的型別跟元素的型別一樣。

如果 d=numpy.int64(a.sum()) ,是不管用的,結果還是負值。

其他人不會出現這種狀況,有的會出現,原因還是不太清楚。

python 自帶檢視型別方法type(d)

numpy 中,型別是attribute,所以這樣d.dtype

python numpy中nonzero 的用法

當使用布林陣列直接作為下標物件或者元組下標物件中有布林陣列時,都相當於用nonzero 將布林陣列轉換成一組整數陣列,然後使用整數陣列進行下標運算。nonzeros a 返回陣列a中值不為零的元素的下標,它的返回值是乙個長度為a.ndim 陣列a的軸數 的元組,元組的每個元素都是乙個整數陣列,其值為...

python numpy中nonzero 的用法

當使用布林陣列直接作為下標物件或者元組下標物件中有布林陣列時,都相當於用nonzero 將布林陣列轉換成一組整數陣列,然後使用整數陣列進行下標運算。nonzeros a 返回陣列a中值不為零的元素的下標,它的返回值是乙個長度為a.ndim 陣列a的軸數 的元組,元組的每個元素都是乙個整數陣列,其值為...

python numpy中nonzero 的用法

當使用布林陣列直接作為下標物件或者元組下標物件中有布林陣列時,都相當於用nonzero 將布林陣列轉換成一組整數陣列,然後使用整數陣列進行下標運算。nonzeros a 返回陣列a中值不為零的元素的下標,它的返回值是乙個長度為a.ndim 陣列a的軸數 的元組,元組的每個元素都是乙個整數陣列,其值為...