修正方法: valueerror: 配列要素をシーケンスで設定する
Python の使用時に発生する可能性のあるエラーは次のとおりです。
ValueError : setting an array element with a sequence.
このエラーは通常、複数の数値を NumPy 配列内の 1 つの位置にグループ化しようとしたときに発生します。
次の例は、このエラーを実際に修正する方法を示しています。
エラーを再現する方法
次の NumPy 配列があるとします。
import numpy as np #create NumPy array data = np. array ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
ここで、配列の最初の位置に 2 つの数値を配置しようとしているとします。
#attempt to cram values '4' and '5' both into first position of NumPy array
data[0] = np. array ([4,5])
ValueError : setting an array element with a sequence.
このエラーは、何が間違っていたのかを正確に示しています。NumPy 配列の要素を値のシーケンスで定義しようとしました。
特に、NumPy 配列の最初の位置に値「4」と「5」を配置しようとしました。
これは不可能であるため、エラーが発生します。
エラーを修正する方法
このエラーを修正する方法は、単に配列の最初の位置に値を代入することです。
#assign the value '4' to the first position of the array
data[0] = np. array ([4])
#view updated array
data
array([ 4, 2, 3, 4, 5, 6, 7, 8, 9, 10])
エラーは発生しないことに注意してください。
実際に 2 つの新しい値を配列要素に割り当てたい場合は、次の構文を使用する必要があります。
#assign the values '4' and '5' to the first two positions of the array
data[0:2] = np. array ([4, 5])
#view updated array
data
array([ 4, 5, 3, 4, 5, 6, 7, 8, 9, 10])
表内の最初の 2 つの値は変更されていますが、他のすべての値は同じままであることに注意してください。
追加リソース
次のチュートリアルでは、Python の他の一般的なエラーを修正する方法を説明します。
パンダの KeyError を修正する方法
修正方法: ValueError: float NaN を int に変換できません
修正方法: ValueError: オペランドをシェイプでブロードキャストできませんでした