Как исправить: если вы используете все скалярные значения, вам необходимо передать индекс.
Ошибка, с которой вы можете столкнуться при использовании панд:
ValueError: If using all scalar values, you must pass an index
Эта ошибка возникает, когда вы пытаетесь создать DataFrame pandas, передавая все скалярные значения, но также не можете передать индекс.
В следующем примере показано, как исправить эту ошибку на практике.
Как воспроизвести ошибку
Предположим, мы пытаемся создать DataFrame pandas из нескольких скалярных значений:
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