dask.dataframe.tail () возвращает пустой фрейм данных - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь получить значение 'n' в последней строке кадра данных dask.

Если я правильно понимаю, позиционная индексация не вариант. Я не знаю индекс последней строки. Я думал, что tail () будет решением, но он возвращает и пустой фрейм данных.

print( df.compute() ) # df has 47 rows

возвращает

       file            str          n 
11027  /Users/...      XXX...       901  
11028  /Users/...      XXX...       902  
...                                   
11099  /Users/...      XXX...       946
11100  /Users/...      XXX...       947

, тогда я делаю

tail = df.tail( n=10, compute=True )
print(tail)

, что занимает МИНУТА И ПЯТНАДЦАТЬ СЕКУНД, что недопустимо медленно, так как мне нужно сделать несколько тысяч из них, и возвращает

Empty DataFrame
Columns: [file, str, n]
Index: []

Что мне здесь не хватает?

Обратите внимание, я нашел решение для головы ( ) возвращает пустое значение, но решение не относится к tail (). dask dataframe head () возвращает пустое значение df

Ответы [ 2 ]

0 голосов
/ 14 апреля 2020

Посетите https://tutorial.dask.org/04_dataframe.html и найдите главу под названием Что только что произошло? . Он содержит описание того, что может go не так и почему.

Он также содержит рецепт, что для чтения DataFrame с использованием read_csv вы должны также передать параметр dtype , указав типы столбцов.

Попробуйте этот подход.

0 голосов
/ 14 апреля 2020

печать с print (df.tail(10))

...