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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *