Не можете удалить столбцы или срезать фрейм данных с помощью dask?

Я пытаюсь использовать dask вместо pandas, так как у меня файл csv объемом 2,6 ГБ. Я загружаю его и хочу уронить столбец. но кажется, что ни метод drop df.drop ('column'), ни нарезка df [:,: -1]

еще не реализовано. Это так или я просто что-то упускаю?


person chrisfs    schedule 07.08.2015    source источник


Ответы (1)


Мы реализовали метод drop в этом PR. Это доступно в dask 0.7.0.

In [1]: import pandas as pd

In [2]: df = pd.DataFrame({'x': [1, 2, 3], 'y': [3, 2, 1]})

In [3]: import dask.dataframe as dd

In [4]: ddf = dd.from_pandas(df, npartitions=2)

In [5]: ddf.drop('y', axis=1).compute()
Out[5]: 
   x
0  1
1  2
2  3

Раньше можно было также использовать нарезку по именам столбцов; хотя, конечно, это может быть менее привлекательно, если у вас много столбцов.

In [6]: ddf[['x']].compute()
Out[6]: 
   x
0  1
1  2
2  3
person MRocklin    schedule 07.08.2015
comment
Почему .compute ()? Если ваша база данных очень большая, разве это не замедлит вас? - person FaCoffee; 28.10.2017
comment
Я использую вычисление выше только для того, чтобы показать результаты вычислений. Вы правы, что преждевременный вызов compute может быть неоптимальным. - person MRocklin; 29.10.2017