2016-06-30 40 views
4

Ich weiß, dass diese Art von Frage vor und ich habe alle Antworten überprüft und ich habe mehrere Male versucht, eine Lösung zu finden, aber vergebens. In der Tat rufe ich einen Dataframe mit Pandas. Ich habe eine csv.file hochgeladen.Datenrahmen Objekt hat kein Attribut

dataset from csv

Wenn ich tippe data.Country und data.Year, erhalte ich die erste Säule und die zweite angezeigt. Allerdings, wenn ich data.Number geben, jedes Mal wenn es gibt mir diese Fehlermeldung:

AttributeError: 'DataFrame' object has no attribute 'Number'.

+0

Ich meine, ich bekomme die erste Spalte und die dritte angezeigt –

+0

Es ist schwer zu sagen, ohne Ihre Daten laden zu können. Haben Sie versucht, mit 'data ['Number']' auf diese Spalte zuzugreifen? Geben Sie 'df.columns.values' ein, um ein Array Ihrer Spaltennamen zu sehen. – Jeff

+0

try 'skipinitialspace = True' und' quotechar = '"'' beim Lesen der CSV-Datei als schwer zu sagen, ohne die Datei. – shivsn

Antwort

5

Ihre Datenrahmen prüfen mit data.columns

Es sollte so etwas wie dieses

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

prüfen versteckt weiß spaces..Then drucken Sie umbenennen mit

data = data.rename(columns={'Number ': 'Number'}) 
+0

All Ihre Hilfe wird sehr geschätzt! Ich bekomme, was ich will. Danke. –

+0

Lassen Sie mich geben Du mein Lieblings-Tutorial, viel Spaß! https://people.duke.edu/~ccc14/sta-663/UsingPandas.html – Merlin

5

Ich werde eine Vermutung nehmen. Ich denke, der Spaltenname, der "Number" enthält, ist so etwas wie " Number" oder "Number ". Beachten Sie, dass ich davon ausgehe, dass Sie irgendwo einen Restplatz im Spaltennamen haben könnten. Tu mir einen Gefallen und laufe print "<{}>".format(data.columns[1]) und schau, was du bekommst. Ist es etwas wie < Number>? Wenn ja, dann war meine Vermutung richtig. Sie sollten es beheben können, mit diesem:

data.columns = data.columns.str.strip() 
Verwandte Themen