配列

2017-12-18 4 views
1

次のように私は、配列に.CSVからデータを引っ張っています:配列

my_data = genfromtxt('nice.csv', delimiter='') 
a = np.array(my_data)  

私は、このように、配列のサイズと形状を確立しよう:

size_array=np.size(a) 
shape_array=np.shape(a) 

今、私は同じ形状とサイズの配列を生成し、いくつかの乗算を行いたいと思います。私が抱えている問題は、正しいサイズの配列を生成することです。私はエラーが表示さ

D = np.empty([shape_array,]) 

"tuple' object cannot be interpreted as an index".

調査の後、私の配列は(248L,)の形状をしている私はこれを試してみました。どうすればこのアレイを賢明な形式で入手できますか?

ありがとうございました。

+5

ジャストブラケットを包囲することなく、直接shape_array' '使用:それは直接np.ndarrayの対応するプロパティを使用する、より慣用的である' D = np.empty(shape_array)を 'あるいは' D = np.empty_like(my_data ) ' –

+1

Paulに感謝します!とても有難い! –

+1

注意 'shape_array'は配列ではなく、タプルです –

答えて

2

shape_array=np.shape(a)は、np.emptyの予想入力である形状tupleを作成します。

[shape_array,]は、であり、それは余分に見えるlistに包まれています。直接shape_arrayを使用します。

d = np.empty(shape_array) 

を関連ノートで、あなたはより効果的にオリジナルと同じ形状および型の配列を取得する機能np.empty_likeを使用することができます。

d = np.empty_like(a) 

を使用したい場合形状とサイズだけでは、np.sizenp.shapeを呼び出した後に別々の変数に格納する必要はありません。

d = np.empty(a.shape)