我正在尝试从Pandas中的csv文件中分散绘制一些数据,但是我收到了错误。
输入文件如下所示:
time,SPOT
2016-02-04 16:01:10.785000,3.6729
2016-02-04 16:01:11,4.2344
我用来绘制的代码:
import pandas as pd
df = pd.read_csv('file.csv')
df.plot(kind='scatter', x='time', y='SPOT')
然后我收到此错误:
Traceback (most recent call last):
File "C:\installed\Python27\lib\site-packages\IPython\core\interactiveshell.py", line 3066, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-51-ff49e6461746>", line 1, in <module>
df.plot(kind='scatter', x='time', y='SPOT')
File "C:\installed\Python27\lib\site-packages\pandas\tools\plotting.py", line 2477, in plot_frame
**kwds)
File "C:\installed\Python27\lib\site-packages\pandas\tools\plotting.py", line 2317, in _plot
plot_obj.generate()
File "C:\installed\Python27\lib\site-packages\pandas\tools\plotting.py", line 923, in generate
self._make_plot()
File "C:\installed\Python27\lib\site-packages\pandas\tools\plotting.py", line 1445, in _make_plot
scatter = ax.scatter(data[x].values, data[y].values, c=c_values,
File "C:\installed\Python27\lib\site-packages\pandas\core\frame.py", line 1780, in __getitem__
return self._getitem_column(key)
File "C:\installed\Python27\lib\site-packages\pandas\core\frame.py", line 1787, in _getitem_column
return self._get_item_cache(key)
File "C:\installed\Python27\lib\site-packages\pandas\core\generic.py", line 1068, in _get_item_cache
values = self._data.get(item)
File "C:\installed\Python27\lib\site-packages\pandas\core\internals.py", line 2849, in get
loc = self.items.get_loc(item)
File "C:\installed\Python27\lib\site-packages\pandas\core\index.py", line 1402, in get_loc
return self._engine.get_loc(_values_from_object(key))
File "pandas\index.pyx", line 134, in pandas.index.IndexEngine.get_loc (pandas\index.c:3807)
File "pandas\index.pyx", line 154, in pandas.index.IndexEngine.get_loc (pandas\index.c:3687)
File "pandas\hashtable.pyx", line 696, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12310)
File "pandas\hashtable.pyx", line 704, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:12261)
KeyError: 'time'
Q1。我想知道我的时间序列是否不允许在时间列中包含毫秒?
Q2。有时,第二列中的时间没有毫秒,当它为零时可以推测。 我试图添加一个date_parser,但它没有帮助。
date_parser = lambda x: pd.datetime.strptime(x, '%Y-%m-%d %H:%M:%S.%f')
df = pd.read_csv('file.csv', date_parser=date_parser)
我正在使用这个python版本 2.7.10(默认,2015年5月23日,09:40:32)[MSC v.1500 32位(英特尔)]&#39;
和pandas 0.15.2
答案 0 :(得分:3)
散点图doesn't work with datetime values.但是,您可以通过执行常规折线图并将style
设置为.
df.plot(x='time', y='SPOT', style='.')
嘲笑更多的数据,我得到一个这样的情节(你需要弄乱标签样式,但你可以了解它的绘制方式):