python自带的sum()函数和numpy库中的sum()函数的区别
生活随笔
收集整理的這篇文章主要介紹了
python自带的sum()函数和numpy库中的sum()函数的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在學習《機器學習實戰》一書的第十章時,對
return np.sqrt(sum(np.power(vecA - vecB, 2)))這樣一條語句輸出的結果老是不對,明明想要輸出的是對兩個列向量的差的平方求和后再開方,輸出的應該是一個float型數值,但是這條語句執行后輸出的卻是一個包含兩個值的行向量
matrix([[ 5.112672, 0.860815]])而且我將這兩個值分別平方后再相加,再開方就是我想要得到的值。
所以這讓我意識到了python自帶的sum()函數和numpy庫中的sum()函數是有區別的,什么區別呢?
我們直接上代碼,從代碼的輸出看區別
我們可以看出,對與list數據,python自帶的sum()函數并不能處理我們想要計算的多行(或多列)list里所有數據的和;
從這里又可以看出兩者對與matrix類型數據的處理方式的不同,python自帶的sum函數求得的是matrix類型數據的每一列的數據之和,輸出結果為一個列數與原數據相同的matrix數據;而numpy庫中的sum函數則求得的是整個matrix的所有數據之和,返回的是一個float型數值,故而,這就是為什么我最開始的語句輸出的是一個matrix數據的原因了,這也是為什么原來的兩個數值先平方再求和再開方后就是我們想要的數值的原因了。然后我們只需要將原來的語句換成
就可以了。
總結
以上是生活随笔為你收集整理的python自带的sum()函数和numpy库中的sum()函数的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3+matplotlib+t
- 下一篇: websocket python爬虫_p