0

私はこのチュートリアルで作業しています。例について

import csv as csv

import numpy as np

csv_file_object = csv.reader(open('train.csv', 'rb'))

header = csv_file_object.next()

data = []

for row in csv_file_object:

data.append(row)

data = np.array(data)

次のエラーが発生しました。

トレースバック (最新の呼び出しが最後):

ファイル「C:/Users/Prashant/Desktop/data mining/demo.py」の 7 行目、

モジュール内 data.append(row)

AttributeError: 'numpy.ndarray' オブジェクトに属性 'append' がありません

私はこれをグーグルで検索し、この質問/回答をで見つけましappendたが、何も得られませんでした.

4

3 に答える 3

0

インデントを確認してください。がdata = np.array(data)for ループ内にある (つまり、 と同じ量だけインデントされているdata.append(row)) 場合data、リストへの項目の追加が完了する前に Numpy 配列になります。

これにより、リストにはappend()メソッドがあり、numpy 配列にはないため、表示されるエラーが発生します。forループは次のようになります

data = [] # Make data a list 
for row in csv_file_object: #iterate through rows in the csv and append them to the list
    data.append(row)

# Turn the list into an array. Notice this is NOT indented! If it is, the data
# list will be overwritten!
data = np.array(data)

Pythonでインデントがどのように機能するかについてのより広範な説明については、Dive Into Pythonを確認してください。

于 2013-06-03T14:36:52.710 に答える
0

さて、あなたが尋ねた他の質問へのリンクを見ると、numpy.ndarrayという属性がないように見えappendますが、NumPy のように見えます。

したがって、代わりに次を使用します。

numpy.append()

または、連結を試みることができます。

Stack Overflow question Append a NumPy array to a NumPy array を見てください。

于 2013-06-03T14:29:58.680 に答える