ワンクリックで
dataprof
Profile tabular data with dataprof before debugging schema, quality, drift, or data-cleaning questions.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Profile tabular data with dataprof before debugging schema, quality, drift, or data-cleaning questions.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | dataprof |
| description | Profile tabular data with dataprof before debugging schema, quality, drift, or data-cleaning questions. |
Use this skill when the user asks you to understand an unfamiliar dataset, inspect data quality, compare two dataset versions, or prepare compact evidence for a data-cleaning or pipeline decision.
Identify the dataset path and format.
Run a cheap structure pass first:
import dataprof as dp
structure = dp.analyze_structure("data.csv")
Run the full profile when structural inspection is not enough:
report = dp.profile("data.csv")
profile() computes every metric pack by default. Pass metrics=[...] only to
narrow the work — the packs are schema, statistics, patterns, and quality:
report = dp.profile("data.csv", metrics=["schema", "quality"])
Quality assessment has seven selectively requestable dimensions:
completeness, consistency, uniqueness, accuracy, timeliness,
validity, and precision. Use quality_dimensions=[...] to narrow them.
A None dimension score means it was not assessed; do not present it as
perfect or replace it with zero.
Semantic policies must be explicit when the data alone cannot establish
them: use positive_columns, identifier_columns, and temporal_columns.
Validity is assessed only for columns with a confidently detected pattern.
Precision measures consistency of effective decimal scale; it does not
infer a business-required number of decimal places.
Summarize for the user or another agent with compact outputs:
report.to_markdown() # markdown table of column profiles
report.quality_summary() # single-row quality dict
to_dict() embeds a full per-column entry under ["columns"], so it grows with
table width. Select the top-level summary fields instead of surfacing the whole dict:
d = report.to_dict()
summary = {k: d[k] for k in ("source", "source_type", "execution", "quality")}
Compare reports for before/after drift:
before = dp.profile("data_before.csv")
after = dp.profile("data_after.csv")
delta = before.compare(after)
dp.analyze_structure(path, max_rows=None)dp.profile(source, *, metrics=None, max_rows=None, ...) -- metrics=None means all packsreport.to_markdown()report.quality_summary()report.to_dict() -- keys: source, source_type, execution, columns, qualityreport.compare(other_report)