You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark判断DataFrame为空时报错'list' object has no attribute 'isEmpty'

报错原因

df2.head(1)的返回值是包含DataFrame前1行数据的Python列表,Python原生列表类型没有isEmpty属性,因此触发报错。

解决方案

方案1:直接判断head返回列表(性能优)

空DataFrame调用head(1)会返回空列表,直接判断列表是否为空即可:

# 写法1
print(len(df2.head(1)) == 0)
# 写法2 更简洁
print(not df2.head(1))

该方案仅会拉取1条数据到Driver节点,不需要全表扫描,适合大数据量场景。

方案2:使用DataFrame原生isEmpty()方法(最推荐)

PySpark DataFrame本身提供了专门的判空方法,直接调用即可:

print(df2.isEmpty())

这是Spark官方提供的标准判空方式,内部做了性能优化,是最优选择。

方案3:通过count判断(仅适合小表)

如果是数据量极小的表,也可以通过统计行数判断,大数据量场景下全表扫描会严重影响性能,不推荐使用:

print(df2.count() == 0)

内容的提问来源于stack exchange,提问作者Bice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 00:09:04