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