Почему Dask.dataframe.set_index не распознает объединенный столбец как один столбец? - PullRequest
1 голос
/ 24 марта 2019

Я получил 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 

Я объединил Date[G] и Time[G] столбцы, когда я читаю csv, использую 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 Ответ

1 голос
/ 24 марта 2019

Я полагаю, что это может быть случай простого синтаксиса: уберите квадратные скобки списка, чтобы сделать

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