如何检查一个pandasDataFrame是否为空?

如何检查一个pandasDataFrame是否为空? 在我的情况下,我想要在terminal打印一些消息,如果DataFrame是空的。

您可以使用属性df.empty检查是否为空:

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

来源: Pandas文档

我使用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 ''' 

我更喜欢漫长的路线。 这些是我为避免使用try-except子句而进行的检查 –

  1. 检查variables是不是无
  2. 然后检查它的数据框和
  3. 确保它不是空的

在这里, DATA是可疑variables –

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