检查pandas数据帧转换属性的函数注释

pandas-transform-checker的Python项目详细描述


熊猫变换检查器

这是什么?

这个库专注于pandas转换的数据质量检查。 转换是以pandas数据帧作为输入的函数(加上 其他参数)并输出数据帧。

此库允许用户指定函数必须遵守的协定。 在本合同中,用户可以指定:

  • 添加的列
  • 删除的列
  • 修改后的列
  • 如果函数add/drop records
  • 如果函数修改索引(例如:重新采样)

一旦指定了协定,函数将引发运行时错误 如果违反了其中一个规范。

如何使用?

该包包含执行以下检查的decorator 导入方式如下:

from pandas_transform_checker.decorator_contract_checker import input_df_contract

args

df_param:作为输入df的函数的参数的名称 contract_params:dict按以下格式定义函数的contract:

contract_dict = {
    "col_additions": {
        "col_a": "int",
        "col_b": "float"
    },
    "col_deletions": {
        "col_c",
        "col_d"
    },
    "col_editions": {
        "col_e",
        "col_f"
    },
    "allow_index_edition": False,
    "allow_drop_record": True
}

这意味着该函数必须创建“col_a”、“col_b”,删除“col_c”、“col_d”,必须 不得修改除“col”“col”“f”之外的任何列数据,也不得编辑索引

以下是此dict中允许的密钥列表:

  • col_additions:dict,其中键是列名,值是数据类型(字符串)
  • 列删除:表示已删除列的str集
  • col_editions:表示修改列的str集
  • 允许索引版本:bool指示函数是否修改索引
  • allow_add_drop_record(bool):指示函数是否可以删除某些记录(例如,当使用dropna时)

使用量

当您有一个以df为输入的函数时:

def super_func(df_input):
    ...

只需添加注释即可自动检查属性

@input_df_contract(df_param="df_input", contract_dict={"col_editions": {"col_e","col_f"}})
def super_func(df_input):
    ...

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
字符串Java字母替换无效   java Spring Roo JPA MS SQL Server无法打开JPA EntityManager组织。冬眠例外GenericJDBCException:无法打开连接   在scala中使用JavaWS对大型数据文件进行java流式处理   Java编译器是否将字节和短字符识别为文本?   java无法查找符号错误,空指针   mongodb在Java中重用数据库连接   java将多个StringArray从字符串文件获取到活动中   java是一个变量,它只保存最后一次鼠标单击的坐标   c#尺寸有限;添加、删除和洗牌   java如何在Android中显示来自资产文件夹的文本文件中的文本   Android应用程序中的java Tensorflow Lite自定义对象检测模型错误   java如何在foreachloop中使用scanner将来自命令行的输入存储到数组中   java如何定义一个好的存储库接口   Android中的java解析动态json对象