Pandas: Количество строк в DataFrame (6 способов)
Last updated
Last updated
В этой статье вы узнаете, как подсчитать количество строк в DataFrame Pandas, включая строки, содержащие определённое значение или удовлетворяющие заданному условию. Вы узнаете, какие методы использовать стоит, а какие — нет (да, мы смотрим на тебя, .count()
!), а также какие из них самые быстрые.
Оглавление
Чтобы следовать материалу урока, скопируйте и вставьте приведённый ниже код в свой редактор. Это загрузит пример DataFrame Pandas, который мы будем использовать для подсчёта строк:
Ознакомьтесь с другими уроками Python на сайте datagy, включая наше полное руководство по стилизации Pandas и подробный обзор сводных таблиц (Pivot Tables) в Pandas!
Pandas предоставляет множество различных способов подсчёта количества строк в DataFrame.
Ниже вы узнаете о функции len()
из Pandas, свойстве .shape
и методе .count()
.
Функция len()
из Pandas возвращает длину DataFrame. Самый надёжный способ определить количество строк в DataFrame — это подсчитать длину его индекса.
Чтобы получить длину индекса, напишите следующий код:
Атрибут .shape
в Pandas используется для получения кортежа, содержащего количество строк и столбцов, в формате (строки, столбцы)
. Если вам нужно только количество строк (например, для условия в цикле for), вы можете получить первый элемент этого кортежа.
К сожалению, метод .count()
из Pandas является самым медленным среди трёх перечисленных здесь методов. Атрибут .shape
и функция len()
являются векторизованными и выполняются за одно и то же время, независимо от размера DataFrame. Метод .count()
работает значительно дольше при увеличении размера DataFrame.
Одним из преимуществ метода .count()
является то, что он может игнорировать пропущенные значения.
Приведённый выше результат показывает, что в столбце Level содержится 18 значений, а в столбце Students — только 17. На самом деле это подсчитывает количество значений, а не количество строк.
Чтобы подсчитать строки, содержащие определённое значение, мы можем применить булеву маску к серии Pandas (столбцу) и посмотреть, сколько строк соответствует данному условию. Что ещё удобно: поскольку Pandas интерпретирует значение True как 1, а False как 0, мы можем просто просуммировать этот массив.
В качестве примера подсчитаем количество строк, в которых столбец Level равен 'Beginner':
Аналогично приведённому выше примеру, если мы хотим подсчитать количество строк, соответствующих определённому условию, мы можем создать для этого булеву маску.
В следующем примере мы подсчитываем количество строк, в которых столбец Students больше или равен 20:
Чтобы подсчитать количество строк в каждой группе, созданной с помощью метода .groupby()
в Pandas, можно использовать атрибут size
. Этот метод возвращает серию, содержащую количество строк, принадлежащих каждой группе.
В этой статье вы узнали, как подсчитать количество строк в DataFrame Pandas. В частности, вы узнали, какие методы самые быстрые, а также как подсчитать количество строк, содержащих определённое значение, удовлетворяющих заданному условию, и количество строк в разных группах.
Чтобы узнать больше о свойстве .shape
, ознакомьтесь с официальной документацией по этой ссылке: