Python pandas检查数据帧是否为空

Art*_*iev 47 python python-3.x pandas

我有if语句,它检查数据帧是否为空.我这样做的方式是:

 if dataframe.empty:
      pass
 else:
      #do something
Run Code Online (Sandbox Code Playgroud)

但我真的需要:

 if dataframe is not empty:
      #do something
Run Code Online (Sandbox Code Playgroud)

我的问题是有一种方法不是空的来实现这个目标吗?我还想问第二个版本在性能方面是否更好?否则也许对我来说是不合理的,因为它是第一个版本?

Aks*_*jan 56

做就是了

if not dataframe.empty:
     // insert code here
Run Code Online (Sandbox Code Playgroud)

这有效的原因是因为如果dataframe为空则dataframe.empty返回True.为了反转这一点,我们可以使用否定运算符not,它可以翻转True,False反之亦然.

这与!其他语言的工作方式完全相同:您可以在Java和C++ !false中进行评估true.完全相同的事情发生在这里,但not而不是!.


San*_*osh 9

.empty返回一个布尔值

>>> df_empty.empty
True
Run Code Online (Sandbox Code Playgroud)

所以如果不为空可以写成

if not df.empty:
    #Your code
Run Code Online (Sandbox Code Playgroud)

检查pandas.DataFrame.empty ,可能会帮助某人。


Raj*_*Das 7

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

if not dataframe.empty:
    #do something
Run Code Online (Sandbox Code Playgroud)

要么

if len(dataframe) != 0:
   #do something
Run Code Online (Sandbox Code Playgroud)

要么

if len(dataframe.index) != 0:
   #do something
Run Code Online (Sandbox Code Playgroud)

  • 或者只是`if len(dataframe):` (2认同)