Как проверить, пуст ли pandas DataFrame?

Как проверить, пуст ли pandas DataFrame? В моем случае я хочу напечатать какое-либо сообщение в терминале, если DataFrame пуст.

Ответ 1

Вы можете использовать атрибут df.empty, чтобы проверить, пуст он или нет:

if df.empty:
    print('DataFrame is empty!')

Источник: Pandas Документация

Ответ 2

Я использую функцию len. Это намного быстрее, чем empty(). len (df.index) еще быстрее.

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(10000, 4), columns=list('ABCD'))

def empty(df):
    return df.empty

def lenz(df):
    return len(df) == 0

def lenzi(df):
    return len(df.index) == 0

'''
%timeit empty(df)
%timeit lenz(df)
%timeit lenzi(df)

10000 loops, best of 3: 13.9 µs per loop
100000 loops, best of 3: 2.34 µs per loop
1000000 loops, best of 3: 695 ns per loop

len on index seems to be faster
'''

Ответ 3

Я предпочитаю идти по длинному маршруту. Это проверки, которые я соблюдаю, чтобы избежать использования предложения try-except -

  • проверить, нет ли переменной None.
  • тогда проверьте, есть ли его фреймворк данных и
  • убедитесь, что он не пуст.

Здесь DATA - подозрительная переменная -

DATA is not None and isinstance(DATA, pd.DataFrame) and not DATA.empty