Oplossing: als u alle scalaire waarden gebruikt, moet u een index doorgeven


Een fout die u kunt tegenkomen bij het gebruik van panda’s is:

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

Deze fout treedt op wanneer u probeert een Panda DataFrame te maken door alle scalaire waarden door te geven, maar ook geen index kunt doorgeven.

Het volgende voorbeeld laat zien hoe u deze fout in de praktijk kunt corrigeren.

Hoe de fout te reproduceren

Stel dat we een Panda DataFrame proberen te maken op basis van verschillende scalaire waarden:

 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

We ontvangen een foutmelding omdat we alleen scalaire waarden aan het DataFrame hebben doorgegeven, maar er niet in zijn geslaagd een index door te geven.

Hoe u de fout kunt oplossen

Hier zijn drie methoden die u kunt gebruiken om deze fout op te lossen:

Methode 1: Transformeer scalaire waarden naar een lijst

 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

Methode 2: Geef scalaire waarden en succesindex door

 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

Methode 3: Plaats scalaire waarden in het woordenboek

 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

Houd er rekening mee dat elke methode hetzelfde DataFrame produceert.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in Python kunt oplossen:

Oplossing: Geen module met de naam pandas
Oplossing: geen module met de naam numpy
Oplossing: Kolommen overlappen elkaar, maar er is geen achtervoegsel opgegeven
Oplossing: SettingWithCopyWarning in Panda’s

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert