describe_statistics
Generate descriptive statistics for a dataset to assess distributions, central tendency, spread, and missingness, using a local file or inline data.
Instructions
describe_statistics —— 数据探查组 · 描述性统计(工具 1,核心实现)。
docstring = agent 使用说明书,与 statlab_mcp/docs/design/01_data_exploration_batch1.md 同步维护。
参数: file_path (str): 本地数据文件(csv/tsv/xlsx/json),仅接受本地路径(拒绝 UNC)
返回: 成功 {"status":"ok","result":{...},"summary":"一句话中文结论"} 失败 {"status":"error","message":"中文原因"}(error 时无 result 字段) result 结构见设计文档「工具 1」JSON Schema: {n_rows, n_columns, numeric_columns, non_numeric_columns, fully_missing_columns, columns: {<列名>: {n, mean, median, std, min, q1, q3, max, skew, kurtosis, n_missing}}}
统计定义(SPEC 裁决,测试断言口径): - 分位数 q1/q3 = linear 插值(=Excel QUARTILE.INC),Series.quantile 默认即 linear; - std 用 ddof=1(=Excel STDEV.S); - skew = scipy.stats.skew(x, bias=False)(Fisher 样本偏度); - kurtosis = scipy.stats.kurtosis(x, fisher=True, bias=False)(超额峰度,正态=0)。
边界语义(使用者已裁决): - 全缺失列:n=0、n_missing=总行数、其余统计键全 null,不中断整表; - 常数列(std=0):skew/kurtosis=null(方差为 0 无法定义); - n<2:std/q1/q3=null;n<3:skew/kurtosis=null; - 非数值列忽略统计并列入 non_numeric_columns。
示例: describe_statistics("samples/clean.csv") inline 数据: 本工具支持可选 inline_data 参数(v1.2.0 起):与 file_path 二选一, 支持 records 数组或 {"header": [...], "rows": [[...], ...]} 对象两种形态; 规模上限/类型域/data_source 来源标注见 statlab_mcp/docs/SPEC.md 第 12 节。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | No | ||
| inline_data | No |