Есть ли в pandas версия df.head(max_rows)
?
Мне нужно ограничить количество строк в моем фрейме данных, когда их слишком много для обработки.
На данный момент я делаю df = df.head(10000000)
но я думаю, что это неэффективно.
Вы можете использовать pd.DataFrame.drop
для работы на месте:
n = 10000000
df.drop(df.index[n:], inplace=True)
Но это может не помочь. Согласно комментарию @unutbu:
df.drop(..., inplace=True)
делает измененияdf
InPlace, но из - за способаinplace
операции осуществляются в панд, нет никакого реального преимущества, чтобы делать это по сравнению с более прямой вперед переназначения к именам переменных. Лично я предпочитаю функции, возвращающие значения над функциями, которые изменяют значения, поскольку с первым синтаксис присваивания делает его совершенно ясным, что изменяется.
Это объясняется далее в ответе Джеффа.
Кроме того, обратите внимание, что этот метод не будет работать с дублируемыми индексами.
In [2]: import pandas as pd In [3]: pd.options.display.max_rows Out[3]: 60