我有一个if
语句,它检查 Dataframe 是否为空,方法如下:
if dataframe.empty:
pass
else:
#do something
但我真的需要:
if dataframe is not empty:
#do something
我的问题是--有没有.not_empty()
的方法来实现这个?我还想问一下,第二个版本在性能上是否更好?否则,我可能会让它保持原样,即第一个版本?
我有一个if
语句,它检查 Dataframe 是否为空,方法如下:
if dataframe.empty:
pass
else:
#do something
但我真的需要:
if dataframe is not empty:
#do something
我的问题是--有没有.not_empty()
的方法来实现这个?我还想问一下,第二个版本在性能上是否更好?否则,我可能会让它保持原样,即第一个版本?
6条答案
按热度按时间sczxawaw1#
只管做
如果 Dataframe 为空,
dataframe.empty
返回True
,我们可以使用取反运算符not
,将True
转换为False
,反之亦然。yeotifhr2#
.empty返回布尔值
所以如果不为空可以写成
检查pandas.DataFrame.empty,可能会帮助某些人。
ivqmmu1c3#
您可以使用属性
dataframe.empty
来检查它是否为空:或者
或者
juud5qan4#
毫无疑问,
empty
的使用在这种情况下是最全面的(显式优于隐式)。然而,在计算时间方面最有效的是通过使用
len
:资料来源:this answer。
v1uwarro5#
正如其他评论者已经清楚地解释的那样,在Python中,你可以通过简单地在前面加上 not 运算符来否定布尔表达式,因此:
就能成功。
我只想澄清“空”在这个上下文中的含义,因为一开始我有点困惑。
根据Pandas文档,如果DataFrame中的任何轴的长度为0,则DataFrame.empty方法返回 True。
因此,“empty”并不意味着像某些人所期望的那样,行为零列为零列为零。具有零行(轴1为空)但非零列(轴2不为空)的 Dataframe 仍然被视为空:
文档中强调的另一个有趣之处是,仅包含NaN的DataFrame不被视为空。
7ivaypg96#
另一个道: