Як виправити: якщо ви використовуєте всі скалярні значення, вам потрібно передати індекс


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

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

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

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

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

Припустімо, ми намагаємося створити 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

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

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