【发布时间】:2016-05-19 19:26:28
【问题描述】:
我试图从 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'
第一季度。我想知道我的时间序列是否不允许在时间列中包含毫秒?
第二季度。有时,第二列中的时间没有毫秒,可能是零。 我试图添加一个 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 位(英特尔)]'
和熊猫 0.15.2
【问题讨论】:
-
Scatter 不适用于日期时间值。见github.com/pydata/pandas/issues/8113。
-
谢谢。有什么解决方法吗?例如将日期转换为双精度?