1. 程式人生 > >一個numpy.float32型別資料存入mongodb引發的異常

一個numpy.float32型別資料存入mongodb引發的異常

問題背景:最近在專案中需要算兩個語句的語義相似度,程式使用python寫的,然後離線存入到mongodb中,原本是把算出來的語義相似度得分直接賦給某個欄位,然後整體存入到mongodb中,結果就報瞭如下的錯誤:

bson.errors.InvalidDocument: Cannot encode object: 0.6623089

這是因為語義相似度得分0.6623089不是一個浮點數,而是一個numpy.float32型別的物件,mongodb是無法對一個物件進行編碼儲存的,所以這裡需要對讀取到的結果進行強制型別轉換,轉為float,然後再存入的時候就不會有問題了