Як виправити: valueerror: усі масиви мають бути однакової довжини


Помилка, з якою ви можете зіткнутися під час використання панд:

 ValueError : All arrays must be of the same length

Ця помилка виникає, коли ви намагаєтеся створити pandas DataFrame, і не всі стовпці в DataFrame мають однакову довжину.

У наступному прикладі показано, як виправити цю помилку на практиці.

Як відтворити помилку

Скажімо, ми спробуємо створити наступні pandas 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 у Pandas
Як виправити: ValueError: неможливо перетворити float NaN на int
Як виправити: ValueError: операнди не можна транслювати з фігурами

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *