簡體   English   中英

如何解決 AttributeError:'list' 對象沒有屬性 'astype'?

[英]How to solve the AttributeError:'list' object has no attribute 'astype'?

我只是想知道如何解決python3.6.的屬性錯誤python3.6. 錯誤是

“list”對象沒有“astype”屬性。

我的相關代碼是打擊。

def _init_mean_std(self, data):
    data = data.astype('float32')
    self.mean, self.std = np.mean(data), np.std(data)
    self.save_meanstd()
    return data

有沒有人可以給我建議?

謝謝!

根本問題是混淆了 Python 列表和 NumPy 數組,它們是不同的數據類型。 如果你給它們一個 Python 列表,作為np.foo(array)調用的 NumPy 方法通常不會抱怨,它們會默默地將它轉換為一個 NumPy 數組。 但是,如果您嘗試調用對象中包含的方法,例如array.foo()那么當然它必須已經具有適當的類型。

我建議使用

data = np.array(data, dtype=np.float32)

以便 NumPy 立即知道數組的類型。 這避免了首先創建數組然后將其轉換為另一種類型的不必要的工作。

NumPy 建議使用dtype 對象而不是像“float32”這樣的字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM