web-dev-qa-db-fra.com

L'objet de trame de données n'a pas d'attribut

Je sais que ce genre de question a déjà été posée et j'ai vérifié toutes les réponses et j'ai essayé plusieurs fois de trouver une solution, mais en vain. En fait, j'appelle un Dataframe en utilisant des pandas. J'ai téléchargé un fichier csv.

dataset from csv

Quand je tape data.Country et data.Year, La première colonne et la seconde sont affichées. Cependant, quand je tape data.Number, chaque fois que cela me donne cette erreur:

AttributeError: l'objet 'DataFrame' n'a pas d'attribut 'Number'.

15
Mouna Belaid

Vérifiez votre DataFrame avec data.columns

Il devrait imprimer quelque chose comme ça

Index([u'regiment', u'company',  u'name',u'postTestScore'], dtype='object')

Recherchez les espaces blancs cachés. Ensuite, vous pouvez renommer avec

data = data.rename(columns={'Number ': 'Number'})
17
Merlin

Je vais deviner. Je pense que le nom de colonne qui contient "Number" Est quelque chose comme " Number" Ou "Number ". Notez que je suppose que vous pourriez avoir un espace résiduel dans le nom de la colonne quelque part. Faites-moi une faveur et lancez print "<{}>".format(data.columns[1]) et voyez ce que vous obtenez. Est-ce quelque chose comme < Number>? Si oui, alors ma supposition était correcte. Vous devriez pouvoir le réparer avec ceci:

data.columns = data.columns.str.strip()
9
piRSquared

Solution rapide: Modifiez la manière dont Excel convertit les fichiers importés. Allez dans "Fichier", puis "Options", puis "Avancé". Faites défiler la liste et décochez la case "Utiliser les séparateurs de système". Remplacez également 'Séparateur décimal' par '.' et 'milliers séparateur' à ','. Il vous suffit ensuite de "réenregistrer" votre fichier au format CSV (délimité par des virgules). La cause première est généralement associée à la manière dont le fichier csv est créé. La confiance qui aide. Le point est, pourquoi utiliser du code supplémentaire si pas nécessaire? La compréhension et l'intégration inter-plateformes sont essentielles pour l'ingénierie/développement.

0
Sherman Kasaval