それは私の作品:
In [629]: np.column_stack([[1,2,3]])
Out[629]:
array([[1],
[2],
[3]])
あなたはこれを行うこと万が一、ありますか?
In [631]: np.column_stack([1,2,3])
Out[631]: array([[1, 2, 3]])
これはスカラーの列スタックを実行しており、実質的に0dの配列です。そのコードに
ルック:
arrays = []
for v in tup:
arr = array(v, copy=False, subok=True)
if arr.ndim < 2:
arr = array(arr, copy=False, subok=True, ndmin=2).T
arrays.append(arr)
return _nx.concatenate(arrays, 1)
array
は、(アレイにリストを変換)もまた、実質的に、入力リストの各要素を通過、および1D(又は0D)場合、その後、再度渡しarray
を介して、それが2dであることを確認してください(その後に転置が続きます)。リスト
のリストについては、
np.atleast_2d(np.array([1,2,3])).T
np.array([1,2,3])[:,None]
np.array([1,2,3]).reshape(-1,1)
In [644]: np.atleast_2d([[1,2],[3,4],[4,5]]).T
Out[644]:
array([[1, 3, 4],
[2, 4, 5]])
もatleast_2d
のコードを見てみましょう:
は、多くの2D列ベクトルに1次元配列を回すの方法があります。
私は 'np.column_stack([1,2,3]) 'を発行しています。 – orome
あなたの入力は配列またはリストのリストになっています。あなたはスカラーのリストを与えます。 – hpaulj
はい、正確です。それが問題です。スカラーのリストかそのようなリストのリストかもしれない入力を扱うNumPythonicな方法は何ですか? – orome