Wie zu beheben AttributeError: '- Serie,' Objekt hat kein Attribut 'finden'?
Ich versuche zu spielen mit einigen online-Daten, und mit einigen Schwierigkeiten zeichnen Sie es durch ein 'Attribut' Fehler in der plot-Funktion
# Reading data from an online data sets
import pandas as pd
import requests, zipfile, StringIO
r = requests.get('https://archive.ics.uci.edu/ml/machine-learning-databases/00287/Activity Recognition from Single Chest-Mounted Accelerometer.zip')
z = zipfile.ZipFile(StringIO.StringIO(r.content))
activity_files = [name for name in z.namelist() if name.endswith('.csv')]
# Loading it to a pandas dataframe
z_data = z.read(activity_files[4]).split('\n')
activity_data = pd.DataFrame([z.split(',') for z in z_data], columns=('Seq','Ax','Ay','Az','Label'))
# Filtering
working_desk_data = activity_data[activity_data.Label == '1']
standing_data = activity_data[activity_data.Label == '3']
walking_data = activity_data[activity_data.Label == '4']
# Plotting
plt.plot(walking_data['Seq'], walking_data['Ax']) # <--- Error
plt.plot(walking_data['Seq'], walking_data['Ay']) # <--- Error
plt.plot(walking_data['Seq'], walking_data['Az']) # <--- Error
plt.show()
Irgendwelche workarounds oder verweist mich auf die richtige Richtung wäre hilfreich ? Ich kann plot das folgende, also ich bin eindeutig Missverständnis etwas oben.
plt.plot(range(1,5), [1,2,1,2])
plt.show()
Edit: (Hinzugefügt Daten für Julien Spronck)
walking_data.head()
Out[12]:
Seq Ax Ay Az Label
22950 22950 1978 2386 1988 4
22951 22951 1977 2387 1990 4
22952 22952 1983 2390 1994 4
22953 22953 1978 2396 1994 4
22954 22954 1980 2387 1992 4
walking_data.columns
Out[79]:
Index([u'Seq', u'Ax', u'Ay', u'Az', u'Label'], dtype='object')
In [80]:
type(walking_data.Seq)
Out[80]:
pandas.core.series.Series
In [81]:
type(walking_data.Ax)
Out[81]:
pandas.core.series.Series
können Sie uns zeigen, was walking_data aussieht?
Hinzugefügt
Es wäre sinnvoll zu posten die ganzen Fehler, die Sie bekommen, vor allem, wenn Sie versucht, DSM Antwort.
Hinzugefügt
Es wäre sinnvoll zu posten die ganzen Fehler, die Sie bekommen, vor allem, wenn Sie versucht, DSM Antwort.
InformationsquelleAutor amehta | 2015-04-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
plot
ist immer verwirrt, weil Sie ' re passing es strings, nicht zahlen. Wenn Sie Sie konvertieren, um (sagen wir)float
s:Dann erhalten Sie
ValueError: could not convert string to float: -
könnte es sein, aufgrund der fehlenden Werte? Wie kann ich rund um die NaN?Für den fehlenden Wert können Sie
data.fillna(value='')
. FürValueError
verwenden, können Sietry
undexcept ValueError, e
dann können Sie fehlerhafte Daten abzufangen und ersetzen Sie Sie mit einigen default-Wert.InformationsquelleAutor DSM
Verwenden Sie die DataFrame Grundstück Methode:
InformationsquelleAutor Andy Hayden