web-dev-qa-db-ja.com

numpy配列からndarrayを構築するにはどうすればよいですか? python

私はそれをnumpyのndarrayに変換することができないようです、私は読んだ http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html しかし、以下に示すように入力データをndarrayに変換する方法は示されませんでした。

numpy配列または整数リストのリストからndarrayを構築する方法?*ndarrayと配列の違いは何ですか? * arrayタイプを使用できますか?

このような整数カウントのリストがあります

[[1, 2, 4, 1, 5],
 [6, 0, 0, 0, 2],
 [0, 0, 0, 1, 0]]

そして、私はこのコードを使用してnp.arrayを作成することができます http://docs.scipy.org/doc/numpy/reference/generated/numpy.array.html#numpy.array

import numpy as np
x = [[1, 2, 4, 1, 5],
 [6, 0, 0, 0, 2],
 [0, 0, 0, 1, 0]]
print np.array(x)

[アウト]:

[[1 2 4 1 5]
 [6 0 0 0 2]
 [0 0 0 1 0]]

ただし、次のコードではnp.ndarrayに変更できません。

import numpy as np
x = [[1, 2, 4, 1, 5],
[6, 0, 0, 0, 2],
[0, 0, 0, 1, 0]]
print np.ndarray(x)

エラーが発生しました:

Traceback (most recent call last):
  File "/home/alvas/workspace/sklearntut/test.py", line 7, in <module>
    print np.ndarray(x)
TypeError: an integer is required

取得した整数カウントのリストを使用してnp.ndarrayを作成するにはどうすればよいですか?TypeErrorはどの整数について話しているのですか?

12
alvas

ndarrayis NumPy配列。

>>> x = np.array([1, 2, 3])
>>> type(x)
<type 'numpy.ndarray'>

np.ndarraynp.arrayの違いは、前者が実際の型であるのに対し、後者は他の形式のデータから配列を構成するための柔軟な省略関数です。 TypeErrornp.array引数をnp.ndarrayに使用します。これは完全に異なる引数を取ります(docstringsを参照)。

39
Fred Foo

受け入れられた応答は正しいですが、実際には配列の1次元配列を作成するのに役立ちませんでした。

このスレッドはGoogleでの最初の回答なので、エレガントな解決策ではない場合でも、私は自分の作業を投稿します(私に1つ指摘することをためらわないでください)。

import numpy as np

# Create example array
initial_array = np.ones(shape = (2,2))

# Create array of arrays
array_of_arrays = np.ndarray(shape = (1,), dtype = "object")
array_of_arrays[0] = initial_array

を注意 array_of_arraysはこの場合は変更可能です。つまり、initial_arrayは自動的に変更されますarray_of_arrays

7
Andarin