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

如何在Jupyter Notebook中按DataFrame行数控制代码执行?

实现DataFrame行数检查的执行控制逻辑

更简洁的行数统计方式

你当前用的两种统计方法可行,但还有更直接高效的方案:

  • rows_count = len(df1.index):直接获取DataFrame真实总行数,不受空值影响,直观高效
  • rows_count = df1.shape[0]:通过shape属性快速取行数(shape[1]对应列数)

执行控制逻辑的三种实现方式

1. 条件判断包裹代码块

这是最常用的方式,满足行数要求才执行后续代码:

# 任选一种行数统计方式
rows_count = len(df1.index)
# rows_count = df1.count()[0]
# rows_count = df1[df1.columns[0]].count()

if rows_count >= 100:
    # 此处编写所有后续执行的代码
    print("行数达标,开始执行后续逻辑")
    # 示例操作:数据清洗、特征工程等
    processed_df = df1.drop_duplicates()
    # ...其他业务代码
else:
    print(f"行数不足,当前仅{rows_count}行,无法执行后续操作")

2. 抛出异常终止执行

如果行数不达标时需要直接终止单元格运行,可主动抛出异常:

rows_count = df1.shape[0]
if rows_count < 100:
    raise ValueError(f"DataFrame行数不符合要求:当前{rows_count}行,需≥100行")

# 只有行数达标时才会执行以下代码
print("行数校验通过,继续处理数据")
# ...后续代码逻辑

3. 使用断言快速校验

适合调试阶段,断言失败会直接终止执行,无需额外分支:

rows_count = df1[df1.columns[0]].count()
assert rows_count >= 100, f"行数校验失败:{rows_count} < 100"

# 断言通过后执行后续代码
# ...你的业务处理代码

关键提示

使用count()方法统计时,会自动忽略列中的空值(NaN),如果第一列存在缺失值,统计结果会小于真实总行数。若需要获取真实总行数,优先使用len(df1.index)或df1.shape[0]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 09:37:12