Comment réparer : si vous utilisez toutes les valeurs scalaires, vous devez transmettre un index
Une erreur que vous pouvez rencontrer lors de l’utilisation de pandas est :
ValueError: If using all scalar values, you must pass an index
Cette erreur se produit lorsque vous tentez de créer un DataFrame pandas en transmettant toutes les valeurs scalaires, mais que vous ne parvenez pas également à transmettre un index.
L’exemple suivant montre comment corriger cette erreur dans la pratique.
Comment reproduire l’erreur
Supposons que nous essayions de créer un DataFrame pandas à partir de plusieurs valeurs scalaires :
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
Nous recevons une erreur car nous avons transmis uniquement des valeurs scalaires au DataFrame, mais nous n’avons pas réussi à transmettre un index.
Comment réparer l’erreur
Voici trois méthodes que vous pouvez utiliser pour corriger cette erreur :
Méthode 1 : transformer les valeurs scalaires en liste
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
Méthode 2 : Réussir les valeurs scalaires et l’indice de réussite
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
Méthode 3 : placer les valeurs scalaires dans le dictionnaire
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
Notez que chaque méthode produit le même DataFrame.
Ressources additionnelles
Les didacticiels suivants expliquent comment corriger d’autres erreurs courantes en Python :
Comment réparer : aucun module nommé pandas
Comment réparer : aucun module nommé numpy
Comment réparer : les colonnes se chevauchent mais aucun suffixe n’est spécifié
Comment réparer : SettingWithCopyWarning dans Pandas