Как исправить: valueerror: все массивы должны быть одинаковой длины.


Ошибка, с которой вы можете столкнуться при использовании панд:

 ValueError : All arrays must be of the same length

Эта ошибка возникает, когда вы пытаетесь создать DataFrame pandas, но не все столбцы в 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

Обратите внимание, что на этот раз каждый массив имеет одинаковую длину.

Поэтому, когда мы используем массивы для создания DataFrame pandas, мы не получаем ошибку, поскольку все столбцы имеют одинаковую длину.

Дополнительные ресурсы

В следующих руководствах объясняется, как исправить другие распространенные ошибки в Python:

Как исправить ошибку KeyError в Pandas
Как исправить: ValueError: невозможно преобразовать число с плавающей запятой NaN в int.
Как исправить: ValueError: операнды не могут быть переданы с помощью фигур.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *