開始する構造体は、2次元配列ではなく、リストを要素とする1次元配列です。それは同じように見えるかもしれませんが、実際は全く異なっています。
典型的な(例外があります)m x n arrayは、numnpyが正しい方法で([i、j]のように)インデックスを解釈できるように、mn要素の線形ブロックといくつかの "メタデータ"です。
あなたの配列はオブジェクト参照の1dブロック(C言語でのポインタ)なので、個々の要素を解決したい場合は、別のレベルの間接参照を追加します。最初にリストを取り出し、次にその要素を取り出します。
あなたの配列は、適切な配列があるので便利でスピードが向上しないので、おそらくそれを変換するのが最善です。
通常、np.array
は互換性のある長さのネストされたシーケンスを可能な限り深い配列に変換します。あなたの場合は、技術的には既に配列なので、例外であるので、np.array
はシェイプを含めてそれを浅くコピーするだけです(リスト参照はコピーしますがリスト自体はコピーしません)。
これを迂回する1つの方法は、変換する前に、リストにキャストすることです:
np.array(list(original_array))
'X'は、任意の「行」を持っていない、それは形だが、 '(33、)' ...明らかにあなたがいます間違い。 –
「X」と「X [0]」はどのようなタイプですか? 'X = np.array(X)' –
'X.dtype'は' dtype( 'O') 'を返します。' X [0] 'はリストです。 –