【发布时间】:2015-06-08 20:17:43
【问题描述】:
我正在尝试使用一些在线数据,但由于绘图函数中的“属性”错误而无法绘制它
# 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()
任何解决方法或指出我正确的方向会有所帮助吗?我可以绘制以下内容,所以我显然误解了上面的内容。
plt.plot(range(1,5), [1,2,1,2])
plt.show()
编辑:(为 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
【问题讨论】:
-
你能告诉我们walking_data是什么样的吗?
-
@JulienSprock 添加了
-
发布您得到的整个错误会很有用,尤其是当您尝试 DSM 的答案时。
标签: pandas matplotlib time-series data-analysis