修正方法: valueerror: すべての配列は同じ長さでなければなりません


pandas の使用時に発生する可能性のあるエラーは次のとおりです。

 ValueError : All arrays must be of the same length

このエラーは、pandas DataFrame を作成しようとしたときに、DataFrame 内のすべての列の長さが同じではない場合に発生します。

次の例は、このエラーを実際に修正する方法を示しています。

エラーを再現する方法

次のパンダ DataFrame を作成しようとするとします。

 import pandas as pd

#define arrays to use as columns in DataFrame
team = ['A', 'A', 'A', 'A', 'B', 'B', 'B']
position = ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F']
points = [5, 7, 7, 9, 12, 9, 9, 4]

#attempt to create DataFrame from arrays
df = pd. DataFrame ({' team ': team,
                   ' position ': position,
                   ' dots ': dots})

ValueError : All arrays must be of the same length

各配列の長さが同じではないことを示すエラーが表示されます。

これは、各配列の長さを出力することで確認できます。

 #print length of each array
print ( len (team), len (position), len (points))

7 8 8

「チーム」テーブルには7 つの要素しかないのに対し、「ポジション」テーブルと「ポイント」テーブルにはそれぞれ8 つの要素があることがわかります。

エラーを修正する方法

このエラーを解決する最も簡単な方法は、使用する各配列が同じ長さであることを確認することです。

 import pandas as pd

#define arrays to use as columns in DataFrame
team = ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B']
position = ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F']
points = [5, 7, 7, 9, 12, 9, 9, 4]

#create DataFrame from arrays
df = pd. DataFrame ({' team ': team,
                   ' position ': position,
                   ' dots ': dots})

#view DataFrame
df

	team position points
0 A G 5
1 A G 7
2 A F 7
3 A F 9
4 B G 12
5 B G 9
6 B F 9
7 B F 4

今回は各配列の長さが同じであることに注意してください。

したがって、配列を使用して pandas DataFrame を作成する場合、各列の長さが同じであるため、エラーは発生しません。

追加リソース

次のチュートリアルでは、Python の他の一般的なエラーを修正する方法を説明します。

パンダの KeyError を修正する方法
修正方法: ValueError: float NaN を int に変換できません
修正方法: ValueError: オペランドをシェイプでブロードキャストできませんでした

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です