встроенная версия DataFrame.head () в пандах

1

Есть ли в pandas версия df.head(max_rows)?

Мне нужно ограничить количество строк в моем фрейме данных, когда их слишком много для обработки.

На данный момент я делаю df = df.head(10000000) но я думаю, что это неэффективно.

  • 0
    Я не понял смысла этого, но In [2]: import pandas as pd In [3]: pd.options.display.max_rows Out[3]: 60
  • 0
    пожалуйста, посмотрите на ответ ниже, который более понятен в случае, если вы хотите жестко закодировать строки, которые будут отображаться.
Показать ещё 1 комментарий
Теги:
pandas
performance
indexing
in-place

1 ответ

1

Вы можете использовать pd.DataFrame.drop для работы на месте:

n = 10000000
df.drop(df.index[n:], inplace=True)

Но это может не помочь. Согласно комментарию @unutbu:

df.drop(..., inplace=True) делает изменения df InPlace, но из - за способа inplace операции осуществляются в панд, нет никакого реального преимущества, чтобы делать это по сравнению с более прямой вперед переназначения к именам переменных. Лично я предпочитаю функции, возвращающие значения над функциями, которые изменяют значения, поскольку с первым синтаксис присваивания делает его совершенно ясным, что изменяется.

Это объясняется далее в ответе Джеффа.

Кроме того, обратите внимание, что этот метод не будет работать с дублируемыми индексами.

  • 0
    также этот подход не работает с дубликатами индексов
  • 0
    @ Donbeo, правильно, я добавлю это как заявление об отказе от ответственности.
Показать ещё 3 комментария

Ещё вопросы

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