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


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

ValueError : All arrays must be of the same length

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

В следующем примере показано, как исправить эту ошибку на практике.

Как воспроизвести ошибку

Предположим, мы пытаемся создать следующий DataFrame pandas:

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,
 'points ': points})

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,
 'points ': points})

#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 в целое число
Как исправить: ValueError: операнды не могли транслироваться вместе с фигурами

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.