Как проверить, пуст ли DataFrame Pandas (3 способа)
Проверка пустоты DataFrame
с помощью Pandas в Python может быть полезна в различных случаях использования, например, перед обработкой или анализом DataFrame. Эта проверка на пустоту DataFrame позволит избежать непредвиденных ошибок. Кроме того, иногда, когда мы перебираем несколько DataFrame, нам нужно обрабатывать пустой DataFrame
и непустой DataFrame
отдельно, поэтому для этого нам сначала нужно проверить, пуст ли DataFrame
или нет, чтобы мы могли их отличить.
В этой статье мы рассмотрим три способа проверить, пуст ли фрейм данных Pandas, чтобы вы могли использовать тот, который вам больше всего подходит. Давайте начнем.
Проверка того, является ли фрейм данных Pandas пустым в Python
В Pandas DataFrame
— это двумерная табличная структура данных, состоящая из строк и столбцов. В этой статье мы хотим определить, является ли DataFrame
пустым, поэтому сначала давайте создадим пустой DataFrame
.
Пример:
import pandas as pd
df = pd.DataFrame()
print(df)
Здесь мы использовали функцию pd.DataFrame()
для создания пустого DataFrame
. Мы не передали никаких данных в функцию pd.DataFrame()
и, таким образом, получаем пустой DataFrame. Мы видим, что при печати самого DataFrame мы получаем, что df является пустым DataFrame и не имеет ни столбцов, ни строк.
Выход:
Читайте также: Создайте DataFrame Pandas из списков
Методы проверки того, пуст ли DataFrame в Python:
- Использование свойства
df.empty
- Использование свойства
df.shape
- Использование функции
len()
1. Использование свойства df.empty
Независимо от того, пуст DataFrame или нет, у него есть простой способ использовать пустое свойство. Он вернет True, если DataFrame пуст, иначе он вернет False, если DataFrame не пуст.
Пример:
import pandas as pd
df = pd.DataFrame()
print(df.empty)
Здесь df.empty
дает нам логическое значение, которое, по сути, сообщает нам, пуст ли DataFrame
или нет. Мы использовали это свойство в DataFrame df
, который мы создали выше, и получили True, что является правильным ответом, поскольку DataFrame df
был пустым DataFrame
.
Выход:
2. Использование свойства df.shape
Мы можем проверить, пуст ли DataFrame
или нет, с помощью свойства df.shape
, которое вернет кортеж строк и столбцов DataFrame
. Следовательно, df.shape[0]
дает нам количество строк, и если количество строк равно 0, то DataFrame
пуст, иначе DataFrame
не пуст.
Пример:
import pandas as pd
df = pd.DataFrame()
print(df.shape[0]==0)
Используя свойство df.shape DataFrame
, мы получили кортеж строк и столбцов, а затем сравнили значение по 0-му индексу в кортеже, которое представляет собой количество строк в DataFrame
, с 0. После распечатки df.shape[0 ]==0
, мы получили True
, потому что указанный выше DataFrame
пуст.
Выход:
3. Использование функции len()
Мы можем проверить, пуст ли DataFrame
или нет, используя встроенную функцию Python len()
, которая определяет длину объекта Python. Если длина DataFrame
равна 0, мы можем сказать, что DataFrame
пуст, в противном случае он не может быть пустым DataFrame
.
Пример:
import pandas as pd
df = pd.DataFrame()
print(len(df)==0)
Здесь мы передали df DataFrame
в функцию len()
, она дала нам количество строк в DataFrame
, поэтому после этого, когда мы сравнили количество строк с нулем, мы снова получили True, потому что DataFrame
является пустым DataFrame
.
Выход:
Что делать, если DataFrame имеет значения NaN?
Допустим, у нас есть DataFrame
, в котором есть несколько строк или одна строка, и все значения в DataFrame
имеют значение NaN
. Будет ли этот DataFrame
считаться пустым DataFrame или нет? Давайте посмотрим это на примере.
Пример:
import numpy as np
df_nan = pd.DataFrame({'Col1': [np.nan]})
print(df_nan)
Здесь мы создали DataFrame df_nan
, который имеет одну строку и один столбец, и значением в этой конкретной строке является NaN
.
Выход:
Теперь следует ли считать DataFrame df_nan
пустым DataFrame
или нет? По сути, основываясь на определении, которое мы установили для пустого DataFrame, этот DataFrame df_nan
не должен быть пустым DataFrame
, поскольку в нем есть строка.
Давайте применим три метода, которые мы видели выше, чтобы проверить, пуст ли DataFrame df_nan
или нет.
print(df_nan.empty)
print(df_nan.shape[0]==0)
print(len(df_nan)==0)
Здесь мы сначала применили свойство df.empty
, затем сравнили количество строк с 0, используя свойство df.shape
, а затем использовали функцию len()
для вычисления длины DataFrame
и сравнили ее с 0.
После запуска мы получили False
всеми тремя способами, что является правильным ответом: этот df_nan DataFrame
не будет считаться пустым DataFrame
.
Выход:
Краткое содержание
Проверка того, пуст ли DataFrame
с помощью pandas, является ценной практикой для обработки различных сценариев при работе с данными. Это может помочь гарантировать, что наш код будет вести себя должным образом, особенно при работе с реальными наборами данных, которые могут содержать отсутствующие или пустые данные. В этом уроке мы использовали методы void
, shape
и len()
с некоторыми примерами. Мы надеемся, что после прочтения вы сможете легко проверить, пуст ли DataFrame
Pandas или нет в Python.