2015-04-03 34 views
5

nedeniyle arsa fonksiyonuAttributeError nasıl düzeltilir? 'Series' nesnesinin 'find' özelliği yoktur?

# 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() 

Herhangi geçici çözümler veya doğru yönde beni işaret yararlı olacağını bir 'Özellik' hata bazı online verilerle oynamaya çalışıyoruz ve bunu komplo bazı sorun yaşıyorum? Aşağıdakileri çizebilirim, bu yüzden yukarıda bir şeyleri yanlış anladım.

plt.plot(range(1,5), [1,2,1,2]) 
plt.show() 

Düzenleme: (Julien Spronck eklendi veri)

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 
+0

sen neye benzediğini walking_data bize gösterebilir alırsınız? –

+0

@JulienSpronck – amehta

+0

ekledi Özellikle DSM'nin cevabını denediğinizde aldığınız tüm hatayı yayınlamak yararlı olur. – Ajean

cevap

1

Kullanım DataFrame plot yöntemi: dizeleri geçirmeden çünkü

walking_data.plot('Seq', ,'Ax') 
4

plot değil karıştı oluyor sayılar. (demek) float s onları dönüştürmek için:

walking_data = walking_data.astype(float) 

Sonra

walking plot

+0

Bunu tekrar denedim, ama hala benim için çalışmıyor – amehta

+0

'ValueError: float için dize dönüştürülemiyor: -' eksik değerler nedeniyle olabilir mi? NaN'i nasıl geçebilirim? – durbachit

İlgili konular