Как оптимизировать разбиение данных на панды?

1

Мне нужно разбить мой набор данных на куски, которые я сейчас делаю со следующим простым кодом:

    cases = []
    for i in set(df['key']):
        cases.append(df[df['key']==i].copy())

Но мой набор данных огромен, и это заканчивается тем, что занимает пару часов, поэтому мне было интересно, есть ли способ использовать многопоточность, чтобы ускорить это? Или, если есть какой-либо другой способ сделать это быстрее?

  • 2
    Я действительно не думаю, что вы хотите пойти по этому пути. Я думаю, что вам нужно расширить вопрос, чтобы включить задачу, которую вы хотите сделать, в более широком смысле (сейчас отложите многопроцессорность в одну сторону)
  • 0
    что огромного ? строки? колонны?
Показать ещё 2 комментария
Теги:
pandas
python-multiprocessing
python-multithreading

1 ответ

1
Лучший ответ

Я уверен, что вы хотите группировать уникальные ключи. Для этого используйте встроенные функции.

cases = list(df.groupby('key'))
  • 1
    Это должен быть правильный ответ, если данные помещаются в память.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню