为什么Dask.dataframe.set_index无法将组合列识别为单列?

时间:2019-03-24 16:28:25

标签: python-3.x pandas dask

我得到了一个csv文件,其中日期和时间列是分开的。我尝试将它们组合在一起,然后将其设置为drop=false的索引。但是我遇到一个错误,告诉我Dask不支持多索引。

数据看起来像这样

Date[G]     Time[G]     #RIC   Price  Volume Tage
2014-08-29 15:09:38.408 VCTX.L 1726.0 72.0   T80
2014-08-29 15:09:38.408 VCTX.L 1726.0 114.0  T200
2014-08-29 15:09:38.408 VCTX.L 1726.0 72.0   T80
2014-08-29 15:11:30.608 VCTX.L 1725.2 500.0  T500
2014-08-29 15:14:45.905 VCTX.L 1727.0 211.0  T300
2014-08-29 15:14:45.905 VCTX.L 1727.0 82.0   T90
2014-08-29 15:14:45.905 VCTX.L 1727.0 135.0  T200 

当我读取csv时使用Date[G]合并了Time[G]parse_dates=[['Date[G]','Time[G]']]列,这些列返回一个名为'Date[G]_Time[G]'的列。然后,我使用df.set_index(['Date[G]_Time[G]'], drop=False)来设置带有以下错误的索引。

Traceback (most recent call last):
  File "CleanDataVR7.py", line 89, in <module>
    df.set_index(['Date[G]_Time[G]'], drop=False)
  File "/share/apps/anaconda/3/5.1.0/lib/python3.6/site-packages/dask/dataframe/core.py", line 2467, in set_index
    divisions=divisions, **kwargs)
  File "/share/apps/anaconda/3/5.1.0/lib/python3.6/site-packages/dask/dataframe/shuffle.py", line 39, in set_index
    "Indexes must be single columns only." % str(index))
NotImplementedError: Dask dataframe does not yet support multi-indexes.
You tried to index with this index: ['Date[G]_Time[G]']
Indexes must be single columns only.

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我认为这可能是简单语法的一种情况:将列表放在方括号中,以使

df.set_index('Date[G]_Time[G]', drop=False)