ホームページ >バックエンド開発 >Python チュートリアル >ValueError: シーケンスを使用して配列要素を設定: NumPy でこれが発生するのはなぜですか?

ValueError: シーケンスを使用して配列要素を設定: NumPy でこれが発生するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-01 06:47:17829ブラウズ

ValueError: Setting an Array Element with a Sequence: Why Does This Happen in NumPy?

ValueError: Set an Array Element with a Sequence

次のコード サンプルでエラー「ValueError: set an array element with a Sequence」が発生するのはなぜですかシーケンス?":

np.array([[1, 2], [2, 3, 4]])
np.array([1.2, "abc"], dtype=float)

考えられる理由 1:ギザギザ配列

各サブリストの要素数が異なる「ギザギザ配列」を作成しようとしている可能性があります。 NumPy はこれをサポートしていません:

np.array([[1, 2], [2, 3, 4]]) # error

多次元配列を形成するには、内部リストは同じ長さでなければなりません。

考えられる理由 2: 型に互換性がない

互換性のない型の要素を配列に提供している可能性があります。たとえば、float の配列に文字列を含めようとすると:

np.array([1.2, "abc"], dtype=float) # error

必要に応じて、dtype=object オプションを使用して、任意の Python オブジェクトを保持する配列を作成できます:

np.array([1.2, "abc"], dtype=object)

以上がValueError: シーケンスを使用して配列要素を設定: NumPy でこれが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。