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

如何用Great Expectations校验Pandas DataFrame的索引?

Great Expectations校验Pandas DataFrame索引的方法

你已经知道如何用Great Expectations校验DataFrame的列名和数据类型,但当DataFrame设置了索引后,需要针对索引做类似校验时,可以直接使用Great Expectations提供的索引专属校验方法,无需自定义函数。

示例场景

构造带命名索引的DataFrame:

import pandas as pd
import great_expectations as ge

df = pd.DataFrame({'A': [1.1, 2.2, 3.3], 'B': [4.4, 5.5, 6.6]}).set_index('A')
df_asset = ge.from_pandas(df)

1. 校验索引存在

使用expect_index_to_exist()方法,若索引有名称,可指定index_name参数精准校验:

# 校验名为'A'的索引存在
df_asset.expect_index_to_exist(index_name='A')

如果是无命名的单索引,直接调用df_asset.expect_index_to_exist()即可完成校验。

2. 校验索引数据类型

使用expect_index_values_to_be_of_type()方法,同样可通过index_name指定目标索引(适用于单索引或多级索引的指定层级):

# 校验名为'A'的索引值数据类型为float
df_asset.expect_index_values_to_be_of_type('float', index_name='A')

对于无命名单索引,省略index_name参数即可:

df_asset.expect_index_values_to_be_of_type('float')

执行校验并输出结果

完成规则定义后,执行校验并判断结果:

if df_asset.validate()["success"]:
    print("校验通过")
else:
    print("校验失败")

多级索引扩展

如果是多级索引(MultiIndex),除了用index_name指定层级名称,还可以通过index_position参数指定层级的位置(从0开始计数)来进行针对性校验。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 13:20:30