Как исправить: при использовании всех скалярных значений необходимо передать индекс


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

ValueError: If using all scalar values, you must pass an index

Эта ошибка возникает, когда вы пытаетесь создать кадр данных pandas, передав все скалярные значения, но также не можете передать индекс.

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

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

Предположим, мы пытаемся создать pandas DataFrame из нескольких скалярных значений:

import pandas as pd

#define scalar values
a = 1
b = 2
c = 3
d = 4

#attempt to create DataFrame from scalar values
df = pd.DataFrame({'A ': a, 'B ': b, 'C ': c, 'D ': d})

ValueError: If using all scalar values, you must pass an index

Мы получаем ошибку, потому что мы передали в DataFrame только скалярные значения, но не смогли передать индекс.

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

Вот три метода, которые вы можете использовать, чтобы исправить эту ошибку:

Метод 1: преобразование скалярных значений в список

import pandas as pd

#define scalar values
a = 1
b = 2
c = 3
d = 4

#create DataFrame by transforming scalar values to list
df = pd.DataFrame({'A': [a], 'B': [b], 'C': [c], 'D': [d]})

#view DataFrame
df
 A B C D
0 1 2 3 4

Метод 2: передать скалярные значения и передать индекс

import pandas as pd

#define scalar values
a = 1
b = 2
c = 3
d = 4

#create DataFrame by passing scalar values and passing index
df = pd.DataFrame({'A ': a, 'B ': b, 'C ': c, 'D ': d}, index=[ 0 ])

#view DataFrame
df
 A B C D
0 1 2 3 4

Способ 3: поместить скалярные значения в словарь

import pandas as pd

#define scalar values
a = 1
b = 2
c = 3
d = 4

#define dictionary of scalar values
my_dict = {' A ':1, 'B ':2, 'C ':3, 'D ':4}

#create DataFrame by passing dictionary wrapped in a list
df = pd.DataFrame([my_dict])

#view DataFrame
df
 A B C D
0 1 2 3 4

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

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

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

Как исправить: нет модуля с именем pandas
Как исправить: нет модуля с именем numpy
Как исправить: столбцы перекрываются, но суффикс не указан
Как исправить: SettingWithCopyWarning в Pandas

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