从数据框列中提取描述性统计信息的数据框审计器
项目描述
仍处于早期发展阶段并定期发生重大变化
数据框审核员
计算数据的数字特征的数据框审计器。
概括
数据剖析在数据分析和分析以及确定数据管道的特征方面非常重要。该存储库旨在提供一种从数据中提取属性选择的方法。
它目前专注于处理pandas数据帧,但此功能也正在扩展到spark数据帧。
给定一个 pandas 数据框,提取的值是(其中object和category类型映射到 string,所有数值类型映射到numeric):
| 类型 | 措施 |
|---|---|
| 字符串和数字 | 百分比为空 |
| 细绳 | 不同的计数 |
| 最常见的类别 | |
| 数字 | 意思是 |
| 标准差 | |
| 方差 | |
| 最小值 | |
| 最大值 | |
| 范围 | |
| 峰度 | |
| 偏度 | |
| Kullback-Liebler 散度 | |
| 平均绝对偏差 | |
| 中位数 | |
| 四分位距 | |
| 百分比零值 | |
| 百分比 nan 值 |
当然,这些特性中的许多特性并不是相互独立的,但有些特性可能会因适合应用而被排除在外。
使用此库审核数据框的结果是为数据框中的每一列返回这些度量的字典。例如,如果一个数据框由一个名为trivial的列组成,其中所有值都是1,那么
[{
"attr": "trivial",
"type": "NUMERIC",
"median": 1.0,
"variance": 0.0,
"std": 0.0,
"max": 1,
"min": 1,
"mad": 0.0,
"p_zeros": 0.0,
"kurtosis": 0,
"skewness": 0,
"iqr": 0.0,
"range": 0,
"p_nan": 0.0,
"mean": 1.0
}]
对于带有 columns 的数据框,["trivial", "non-trivial"]返回一个字典列表:
[{
"attr": "trivial"
},
{
"attr": "non-trivial"
}]
安装
-
依赖项包含在
requirements.txt:pip install -r requirements.txt
-
或者,如果你想直接从 github 安装,你可以使用:
pip install git+https://github.com/jackdotwa/dataframe-auditor.git
测试
- 单元测试可以通过以下方式运行:
python -m unittest discover tests
- 代码覆盖率可以通过以下方式确定:
coverage run -m unittest discover tests && coverage report
用法
使用这个包的许多例子是:
import pandas as pd
import dfauditor
numeric_data = {
'x': [50, 50, -10, 0, 0, 5, 15, -3, None, 0],
'y': [0.00001, 256.128, None, 16.32, 2048, -3.1415926535, 111, 2.4, 4.8, 0.0],
'trivial': [1]*10
}
numeric_df = pd.DataFrame(numeric_data)
result_dict = dfauditor.audit_dataframe(numeric_df, nr_processes=3)
贡献
拉请求总是受欢迎的。