Python 配列値エラー

Zeeshan Afridi 2023年6月21日
  1. Python で ValueError: only 2つの非キーワード引数が受け入れられました を解決する
  2. ValueError: 配列要素をシーケンスで設定 を解決する
  3. 配列と値の一致するデフォルトのデータ型
Python 配列値エラー

Python の Value Error は、関数が正しい型の引数を取得しても、その型の値が正しくない場合に発生します。 NumPy 配列に複数の要素がある場合、別のエラーが発生し、エラーが発生します。

この記事では、構文エラーとその修正方法について説明します。

Python で ValueError: only 2つの非キーワード引数が受け入れられました を解決する

以下の例では、NumPy 配列は 2 次元ですが、その後、1 次元配列も混在させています。 Python はこれを不均一な形状として認識し、配列の構造が変動していることを示しているため、Python は値エラーを発生させます。

コード例:

import numpy as np

print(np.array([1, "English"], [2, "Spanish"], [3, "German"], dtype=object))

出力:

ValueError: only 2 non-keyword arguments accepted

同じ次元の配列を作成してこのエラーを解決するには、配列に同一の要素が必要です。

コード例:

import numpy as np

print(np.array([[1, "English"], [2, "Spanish"], [3, "German"]], dtype=object))

出力:

[[1 'English']
[2 'Spanish']
[3 'German']]

ValueError: 配列要素をシーケンスで設定 を解決する

ライブラリ NumPy を使用して多次元配列を作成すると、ValueError が発生することがあります。 シーケンスエラーのある配列要素を設定した場合に発生します。

コード例:

import numpy

arrayeven = [2, 4, 6, [8, [10, 12]]]
np_array = numpy.array(arrayeven, dtype=int)

出力:

ValueError: setting an array element with a sequence

このエラーを解決するには、すべてのデータ型をサポートするデータ型 (共通のデータ型) を使用できます。 次の例では、dtype=int の代わりに dtype=object を使用しています。

コード例:

import numpy

arrayeven = [2, 4, 6, [8, [10, 12]]]
np_array = numpy.array(arrayeven, dtype=object)
print(np_array)

出力:

[2 4 6 list([8, [10, 12]])]

配列と値の一致するデフォルトのデータ型

以下の例では、文字列データを受け取る配列の要素として配列を代入したためにエラーが発生します。

コード例:

import numpy

array = ["meeting", "the", "is", "at", "10pm"]
newarray = numpy.array(array, dtype=str)
newarray[1] = ["the", "meeting", "is", "at", "10pm"]
print(newarray)

出力:

ValueError: setting an array element with a sequence

このエラーは、値と配列のデータ型を一致させることで解決できます。 この問題を修正し、値を配列要素として割り当てることができます。

コード例:

import numpy

array = ["meeting", "the", "is", "at", "10pm"]
newarray = numpy.array(array, dtype=str)
Variable = ["the", "meeting", "is", "at", "10pm"]
if newarray.dtype == type(Variable):
    newarray[1] = Variable
else:
    print(" Type of value and newarray is not same ")
print(newarray)

出力:

Type of value and newarray is not same
['meeting' 'the' 'is' 'at' '10pm']

ライブラリ NumPy を使用すると、Value Errors が発生することがあります。 関数が正しい引数の型を渡す可能性があるが、その型の値が正しくない場合に発生します。

上記の方法を使用して、Array Value Error を修正できます。

著者: Zeeshan Afridi
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

関連記事 - Python Error