Python神坑:sum和numpy.sum


  同樣的一段代碼,在兩個python文件里面執行的結果不一樣,一個是按照列單位進行sum一個是所有元素進行sum;

 

1 def distCal(vecA, vecB):
2     return sqrt(sum(power(vecA - vecB, 2)))
3 
4 from numpy import sum
5 arr1= mat(array([[9, 10], [11,12],[13,14]]))
6 arr2 = mat(array([[1,2], [3,4], [5,6]]))
7 dist = distCal(arr1, arr2)
  搞了半天,最后想到了,是不是可能sum語義不同,python原生和numpy的兩個?一查,果然sum分兩種;
  在第一個類文件里面(第二個類文件有一句: from numpy import *)添加from numpy import sum,一執行,結果一樣,都是對於所有數據進行算合計。
 
  python里面這類情況很多,numpy里面封裝了很多python原生同名的操作,但是增加了很多處理,默認行為也和原生的不一致;所以使用的時候要小心。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM