2017-09-08 11 views
0

私のコードはここにある文字列または数字ではなく、「リスト」でなければなりません:はTypeError:フロート()の引数は

temp = np.array([images, labels]) 
temp = temp.transpose() 
np.random.shuffle(temp) 

image_list = list(temp[: 0]) 
label_list = list(temp[: 1]) 
label_list=[int(float(i)) for i in label_list] 

return image_list, label_list 

し、エラーを与えるspder:TypeError例外:フロート()の引数は文字列でなければなりませんか数字ではなく、 'リスト'

誰でも解決する方法を知っていますか?ありがとうございました

+1

'list'を' float'に渡さないでください。 –

答えて

1

label_listはリストのリストです。これは代わりにする必要があります

label_list = list(temp[: 1]) 

label_list = temp[:1] 

あなたがfor i in label_listを呼び出すときに、iはオブジェクトではなく、リストが取り込まれます。

0

あなたがいけないときにスライスしています。これらの行は間違っている:

image_list = list(temp[: 0]) 
label_list = list(temp[: 1]) 

スライスはあなたが(リストでおそらく唯一の配列がありますが)アレイのリストにして2次元配列を変換していることを意味します。あなたは私が何をと思い、単一の非ネストされたリストへの1次元配列を、変換しているので、ここで

image_list = list(temp[0]) 
label_list = list(temp[1]) 

あなたがインデックス化(というよりもスライス)しています:私はあなたがコロンなしで同じことをしたいと思いますあなたは欲しい。

0

すべてがうまく動作するはずではないことを訂正した場合、ラベルと画像リストの両方のリストを誤って作成しています。

関連する問題