Как использовать 'loc' для выбора столбца данных в dask - PullRequest
0 голосов
/ 26 августа 2018

Кто-нибудь может сказать мне, как я должен выбрать один столбец с 'loc' в кадре данных, используя dask?

В качестве примечания: когда я загружаю фрейм данных, используя dd.read_csv с заголовком, равным «None», имя столбца начинается с нуля до 131094. Я собираюсь выбрать последний столбец с именем столбца как 131094, и я получаю ошибку.

код:

> import dask.dataframe as dd
> df = dd.read_csv('filename.csv', header=None)
> y = df.loc['131094']

ошибка:

Файл "/usr/local/dask-2018-08-22/lib/python2.7/site-packages/dask-0.5.0-py2.7.egg/dask/dataframe/core.py", строка 180, в _loc «Не могу использовать loc на DataFrame без известных разделений») ValueError: Нельзя использовать loc в DataFrame без известных делений

На основании этого руководства http://dask.pydata.org/en/latest/dataframe-indexing.html#positional-indexing, мой код должен работать правильно, но не знаю, в чем причина проблемы.

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Если у вас есть именованный столбец, используйте: df.loc[:,'col_name'] Но если у вас есть позиционный столбец, как в вашем примере, где вы хотите последний столбец, используйте ответ @ user1717828.

0 голосов
/ 26 августа 2018

Я попробовал это на фиктивном CSV, и это сработало.Я не могу вам помочь наверняка, не увидев файл, доставляющий вам проблемы.Тем не менее, вы можете выбирать строки, а не столбцы.

Вместо этого попробуйте это.

import dask.dataframe as dd
df = dd.read_csv('filename.csv', header=None)
y = df[df.columns[-1]]
...