修正方法: 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: オペランドをシェイプでブロードキャストできませんでした