2016-11-10 93 views
0

每當我試圖對從csv文件獲得的數組執行規範化。我的代碼不會工作,因爲我沒有提供自定義文件。正常化numpy數組列在python從其他csv文件讀取該數組

我一收到錯誤消息:

x = np.myarray 

AttributeError的:「模塊」對象有沒有attribute'myarray」

由於我是新來的蟒蛇,任何人都可以請幫助我如何如果我們從csv文件中讀取矩陣,得到一個規範化的矩陣?

import numpy as np 
import csv 

with open('csvk.csv', 'rb') as f: 
    reader = csv.reader(f) 
    data_as_list = list(reader) 
    print data_as_list 

    myarray = np.asarray(data_as_list) 
    print myarray 
    x = np.myarray 
    x_normed = x/x.max(axis=0) 
    print x_normed 

回答

0

你想用np.myarray做什麼?這是一個屬性調用,Python正確地告訴你模塊numpy沒有屬性myarray。如果你只是想使myarray副本你只是想x=myarray,儘管你可以用x_normed=myarray/myarray.max(axis=0)

0

一些技巧做同樣更Python的方式:

  1. 一般:試圖進一步沸騰將你的代碼放到會引發錯誤的部分。
  2. 由於您正在導入自定義文件,因此此處的社區無法運行您的代碼。在這種情況下,可以很容易地看到錯誤,但是在更困難的情況下,您需要發佈可以由其他人執行的代碼。如果您的代碼可以運行,您將得到更詳細和有用的答案。
  3. 除了Daniel Forsman的回答:「np.myarray」將不起作用並引發錯誤,因爲numpy沒有屬性「myarray」。如果你調用python將檢查,如果擁有該屬性。由於模塊對象numpy沒有屬性myarray,它會引發你得到的AttributeError。

乾杯, 丹尼爾