From Claude-Data-Wrangler
Convert text-formatted numeric values (e.g. "$4.27", "1,234.56", "€1.2M", "3%", "(500)") into clean numeric columns, recording the original formatting (currency, scale, sign convention) in the data dictionary. Use when a column that should be numeric is typed as string because of embedded symbols, separators, or scale suffixes.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin Claude-Data-WranglerThis skill uses the workspace's default tool permissions.
Parse formatted numeric strings into proper numeric types, capturing the format metadata separately.
Conducts multi-round deep research on GitHub repos via API and web searches, generating markdown reports with executive summaries, timelines, metrics, and Mermaid diagrams.
Share bugs, ideas, or general feedback.
Parse formatted numeric strings into proper numeric types, capturing the format metadata separately.
$4.27, 1,234.56, €1.2M, 3.5%, (500) (accounting negative), 2.5K.float / int.dtype == object but >80% of values look numeric after stripping symbols.$, €, £, ¥, ₪, ₹, etc. → record the detected currency., (US), . (EU), space (FR/scientific), ' (CH).. or , — infer from context; ask if ambiguous.K, M, B, T (multiply accordingly).% → divide by 100 OR keep as-is; ask the user.(500) → -500.− → -.float; downcast to int if all values are whole numbers.<col>_raw if the user wants a clean replacement) OR overwritten.<col>_numeric (or same name).add-data-dictionary skill._numeric suffix.pip install pandas
Optional: babel.numbers.parse_decimal for locale-aware parsing.
$5, €4, £3) — extract currency per row into a separate currency column, convert numeric without the symbol. Do not attempt FX conversion; that is a separate operation."100-200", "5–10") — flag and ask user (split into _min/_max, take midpoint, or leave as text)."~500", "<100", ">1M") — strip qualifier, record in a qualifier column, convert the numeric portion."N/A", "-", "null", "") — convert to NaN; list the sentinels detected.