← Về thư mục
skills/exploratory-data-analysis/scripts/_tabular.py
- ScanSummary · class · L40-L43 — class ScanSummary
- normalize_missing_tokens · function · L46-L52 — def normalize_missing_tokens(tokens: Iterable[str] | None) -> frozenset[str]
- is_missing · function · L55-L56 — def is_missing(value: str, missing_tokens: frozenset[str]) -> bool
- delimiter_for_path · function · L59-L65 — def delimiter_for_path(path: Path) -> str
- scan_table · function · L68-L142 — def scan_table( path: Path, *, max_rows: int = DEFAULT_MAX_ROWS, max_columns: int = MAX_COLUMNS, max_field_chars: int = MAX_FIELD_CHARS, on_header: Callable[[list[str]], None], on_row: Callable[[int, list[str]], None], ) -> ScanSummary
- resolve_column · function · L145-L155 — def resolve_column(header: Sequence[str], requested: str | None) -> int | None
- PrioritySample · class · L158-L178 — class PrioritySample
- init · method · L161-L163 — def init(self, limit: int) -> None
- add · method · L165-L175 — def add(self, value: float, *, row_index: int, column_index: int) -> None
- values · method · L177-L178 — def values(self) -> list[float]
- _quantile · function · L181-L194 — def _quantile(sorted_values: Sequence[float], probability: float) -> float | None
- ColumnAccumulator · class · L198-L320 — class ColumnAccumulator
- post_init · method · L218-L219 — def post_init(self) -> None
- add · method · L221-L262 — def add( self, value: str, *, row_index: int, missing_tokens: frozenset[str], ) -> None
- as_report · method · L264-L320 — def as_report(self, *, column_id: str) -> dict[str, Any]
- profile_table · function · L323-L401 — def profile_table( path: Path, *, max_rows: int = DEFAULT_MAX_ROWS, missing_tokens: Iterable[str] | None = None, reveal_identifiers: bool = False, ) -> dict[str, Any]
- on_header · function · L339-L344 — def on_header(names: list[str]) -> None
- on_row · function · L346-L363 — def on_row(row_index: int, row: list[str]) -> None
- profile_json_structure · function · L404-L478 — def profile_json_structure( document: Any, *, reveal_identifiers: bool = False, max_nodes: int = 100_000, ) -> dict[str, Any]
- _moment_skew · function · L481-L489 — def _moment_skew(values: Sequence[float]) -> float | None
- _distribution_report · function · L492-L572 — def _distribution_report( values: Sequence[float], *, numeric_count: int, nonnumeric_count: int, missing_count: int, ) -> dict[str, Any]
- audit_distributions · function · L575-L661 — def audit_distributions( path: Path, *, columns: Sequence[str] | None = None, max_rows: int = DEFAULT_MAX_ROWS, missing_tokens: Iterable[str] | None = None, reveal_identifiers: bool = False, ) -> dict[str, Any]
- on_header · function · L592-L620 — def on_header(names: list[str]) -> None
- on_row · function · L622-L628 — def on_row(row_index: int, row: list[str]) -> None
- _parse_time · function · L664-L676 — def _parse_time(value: str) -> datetime | None
- audit_missingness_and_leakage · function · L679-L905 — def audit_missingness_and_leakage( path: Path, *, max_rows: int = DEFAULT_MAX_ROWS, missing_tokens: Iterable[str] | None = None, group_column: str | None = None, entity_column: str | None = None, split_column: str | None = None, time_column: str | None = None, reveal_identifiers: bool = False, ) -> dict[str, Any]
- on_header · function · L709-L717 — def on_header(names: list[str]) -> None
- update_partition · function · L719-L732 — def update_partition( mapping: dict[str, tuple[int, list[int]]], key: str, row: list[str], ) -> None
- on_row · function · L734-L786 — def on_row(_row_index: int, row: list[str]) -> None
- partition_report · function · L813-L835 — def partition_report( mapping: dict[str, tuple[int, list[int]]], *, key_name: str, ) -> list[dict[str, Any]]