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

如何验证Pandas DataFrame列是否为从1开始的连续序列?

确认DataFrame列是否为从1开始的连续序列的最优方法

核心判断逻辑

要验证目标列是否是从最小值1开始的连续序列,只需要确认两个关键点:

  • 列的最小值必须是1
  • 列的唯一值数量等于列的最大值(因为从1到max_val恰好包含max_val个不同的整数)

实现代码

import pandas as pd

# 构造示例DataFrame
df = pd.DataFrame({'Col1': [1, 2, 3, 4, 6, 5]})

def is_continuous_from_one(col):
    col_min = col.min()
    col_max = col.max()
    unique_count = col.nunique()
    return col_min == 1 and unique_count == col_max

# 测试示例
print(is_continuous_from_one(df['Col1']))  # 输出: True

为什么这是最优方案

pandas的min()、max()、nunique()都是底层优化的向量操作,时间复杂度为O(n),比先排序再逐一对比的O(n log n)效率更高,尤其适合处理大规模数据集。

边界情况验证

  • 单元素列[1]:返回True
  • 含重复值的列[1,1,2,3]:返回True
  • 缺失中间值的列[1,3]:返回False
  • 起始值不为1的列[2,3,4]:返回False

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 05:22:03