Python 3.4 Panda按市场排序市场数据

时间:2017-03-31 15:14:14

标签: python-3.x sorting pandas

我正在尝试设置Python(3.4)代码,按日期对时间序列进行排序。

在python shell中,我键入以下内容

>>>data = quandl.get("YAHOO/INDEX_GSPC", start_date="2017-01-01", end_date="2017-01-20")
>>>print(data)

所以,我可以加载数据。但是当我尝试使用命令

进行排序时
>>>data = data.sort_values(by='Date')

我收到以下错误消息列表。我似乎无法从http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.sort_values.html

了解/获取日期排序的语法

那里的专家.......,非常感谢您的建议。

Traceback (most recent call last):
  File "C:\Python34\lib\site-packages\pandas\indexes\base.py", line 2134, in get_loc
    return self._engine.get_loc(key)
  File "pandas\index.pyx", line 132, in pandas.index.IndexEngine.get_loc (pandas\index.c:4433)
  File "pandas\index.pyx", line 154, in pandas.index.IndexEngine.get_loc (pandas\index.c:4279)
  File "pandas\src\hashtable_class_helper.pxi", line 732, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:13742)
  File "pandas\src\hashtable_class_helper.pxi", line 740, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:13696)
KeyError: 'Date'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<pyshell#37>", line 1, in <module>
    data = data.sort_values(by='Date')
  File "C:\Python34\lib\site-packages\pandas\core\frame.py", line 3230, in sort_values
    k = self.xs(by, axis=other_axis).values
  File "C:\Python34\lib\site-packages\pandas\core\generic.py", line 1770, in xs
    return self[key]
  File "C:\Python34\lib\site-packages\pandas\core\frame.py", line 2059, in __getitem__
    return self._getitem_column(key)
  File "C:\Python34\lib\site-packages\pandas\core\frame.py", line 2066, in _getitem_column
    return self._get_item_cache(key)
  File "C:\Python34\lib\site-packages\pandas\core\generic.py", line 1386, in _get_item_cache
    values = self._data.get(item)
  File "C:\Python34\lib\site-packages\pandas\core\internals.py", line 3543, in get
    loc = self.items.get_loc(item)
  File "C:\Python34\lib\site-packages\pandas\indexes\base.py", line 2136, in get_loc
    return self._engine.get_loc(self._maybe_cast_indexer(key))
  File "pandas\index.pyx", line 132, in pandas.index.IndexEngine.get_loc (pandas\index.c:4433)
  File "pandas\index.pyx", line 154, in pandas.index.IndexEngine.get_loc (pandas\index.c:4279)
  File "pandas\src\hashtable_class_helper.pxi", line 732, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:13742)
  File "pandas\src\hashtable_class_helper.pxi", line 740, in pandas.hashtable.PyObjectHashTable.get_item (pandas\hashtable.c:13696)
KeyError: 'Date'

2 个答案:

答案 0 :(得分:1)

quandl.get加载DataFrame,日期为索引。

因此,如果您按索引排序,那么您就可以了:

data = data.sort_index()

答案 1 :(得分:0)

确保查看错误。您收到KeyError,表示您的DataFrame中不存在Date列。就像日期存储在索引中一样,需要使用sort_index方法。您在DataFrame中看到的“日期”名称是索引的名称,而不是列。

data.sort_index()