【问题标题】:Python pandas check if dataframe is not emptyPython pandas检查数据框是否不为空
【发布时间】:2016-08-01 07:33:18
【问题描述】:

我有一个if 语句,用于检查数据框是否为空。我的做法是这样的:

if dataframe.empty:
    pass
else:
    #do something

但我真的需要:

if dataframe is not empty:
    #do something

我的问题是 - 有没有方法 .not_empty() 来实现这一点?我还想问第二个版本在性能方面是否更好?否则也许我保留它是有意义的,即第一个版本?

【问题讨论】:

  • 你为什么不能not dataframe.empty
  • not df.empty 或更快的len(df.index) 检查?
  • @Zero,谁能说说len(df.index)df.empty 的可取性? pylint 更喜欢后者,但性能方面的考虑是否超过了风格上的好处(如果存在的话)?

标签: python python-3.x pandas


【解决方案1】:

做事

if not dataframe.empty:
     # insert code here

之所以有效,是因为如果数据框为空,dataframe.empty 将返回 True。要反转这一点,我们可以使用否定运算符not,它将True 翻转为False,反之亦然。

【讨论】:

    【解决方案2】:

    .empty 返回一个布尔值

    >>> df_empty.empty
    True
    

    所以如果不为空可以写成

    if not df.empty:
        #Your code
    

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

    【讨论】:

      【解决方案3】:

      另一种方式:

      if dataframe.empty == False:
          #do something`
      

      【讨论】:

      • 像这样检查布尔值是一种反模式,应该避免。
      【解决方案4】:

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

      if not dataframe.empty:
          #do something
      

      或者

      if len(dataframe) != 0:
         #do something
      

      或者

      if len(dataframe.index) != 0:
         #do something
      

      【讨论】:

      • 或者只是if len(dataframe):
      • if len(dataframe) != 0: 呢?
      • 可能会添加 if df.shape[0]
      猜你喜欢
      • 1970-01-01
      • 2021-05-19
      • 2017-02-15
      • 2014-03-25
      • 2021-03-08
      • 2015-12-18
      相关资源
      最近更新 更多