{"id":"d0e7de9c-ca22-4a24-a00a-98fb965f7a6d","slug":"clawhub-534422530-laosi-data-analyzer","name":"Data Analyzer Pro","description":"数据分析 - 加载CSV/JSON自动计算统计描述(均�?中位�?标准�?极�?，异常检测，趋势分析，结果本地持久化","canonicalUrl":"https://www.xpersona.co/agent/clawhub-534422530-laosi-data-analyzer","sourceUrl":"https://clawhub.ai/534422530/laosi-data-analyzer","homepage":"https://clawhub.ai/534422530/skills/laosi-data-analyzer","source":"CLAWHUB","vendor":{"slug":"clawhub","label":"Clawhub","url":"https://clawhub.ai/534422530/skills/laosi-data-analyzer"},"protocols":["OPENCLEW"],"capabilities":[],"trustScore":null,"trustConfidence":"unknown","artifactCount":0,"benchmarkCount":0,"lastRelease":"2.0.0","freshnessAt":"2026-10-11T13:53:51.786Z","freshnessLabel":"Oct 11, 2026","securityReviewed":true,"openapiReady":false,"stats":[{"label":"Trust score","value":"Unknown"},{"label":"Compatibility","value":"OpenClaw"},{"label":"Freshness","value":"Oct 11, 2026"},{"label":"Vendor","value":"Clawhub"},{"label":"Artifacts","value":"0"},{"label":"Benchmarks","value":"0"},{"label":"Last release","value":"2.0.0"}],"factsPreview":[{"factKey":"vendor","category":"vendor","label":"Vendor","value":"Clawhub","href":"https://clawhub.ai/534422530/skills/laosi-data-analyzer","sourceUrl":"https://clawhub.ai/534422530/skills/laosi-data-analyzer","sourceType":"profile","confidence":"medium","observedAt":"2026-10-11T13:53:51.814Z","isPublic":true},{"factKey":"protocols","category":"compatibility","label":"Protocol compatibility","value":"OpenClaw","href":"https://www.xpersona.co/api/v1/agents/clawhub-534422530-laosi-data-analyzer/contract","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-534422530-laosi-data-analyzer/contract","sourceType":"contract","confidence":"medium","observedAt":"2026-10-11T13:53:51.814Z","isPublic":true},{"factKey":"traction","category":"adoption","label":"Adoption signal","value":"1.1K downloads","href":"https://clawhub.ai/534422530/laosi-data-analyzer","sourceUrl":"https://clawhub.ai/534422530/laosi-data-analyzer","sourceType":"profile","confidence":"medium","observedAt":"2026-10-11T13:53:51.814Z","isPublic":true},{"factKey":"latest_release","category":"release","label":"Latest release","value":"2.0.0","href":"https://clawhub.ai/534422530/laosi-data-analyzer","sourceUrl":"https://clawhub.ai/534422530/laosi-data-analyzer","sourceType":"release","confidence":"medium","observedAt":"2026-05-29T23:31:39.130Z","isPublic":true},{"factKey":"handshake_status","category":"security","label":"Handshake status","value":"UNKNOWN","href":"https://www.xpersona.co/api/v1/agents/clawhub-534422530-laosi-data-analyzer/trust","sourceUrl":"https://www.xpersona.co/api/v1/agents/clawhub-534422530-laosi-data-analyzer/trust","sourceType":"trust","confidence":"medium","observedAt":null,"isPublic":true}],"highlights":["1.1K downloads","Trust evidence available"],"agentCard":{"name":"Data Analyzer Pro","description":"数据分析 - 加载CSV/JSON自动计算统计描述(均�?中位�?标准�?极�?，异常检测，趋势分析，结果本地持久化","source":"CLAWHUB","sourceId":"clawhub:s170k9770tgh0506hw0dwtb6pd83kwyq:laosi-data-analyzer","homepage":"https://clawhub.ai/534422530/skills/laosi-data-analyzer","repository":"https://clawhub.ai/534422530/laosi-data-analyzer","documentation":"https://www.xpersona.co/agent/clawhub-534422530-laosi-data-analyzer","protocols":["OPENCLEW"],"examples":[{"kind":"example","language":"python","snippet":"import csv, json, statistics, math\nfrom datetime import datetime\nfrom typing import List, Dict, Any\n\nclass DataAnalyzer:\n    def __init__(self):\n        self.data: List[Dict[str, Any]] = []\n        self.numeric_cols: List[str] = []\n    \n    def load_csv(self, path: str, delimiter: str = \",\") -> int:\n        \"\"\"从CSV加载数据\"\"\"\n        with open(path, newline=\"\", encoding=\"utf-8\") as f:\n            reader = csv.DictReader(f, delimiter=delimiter)\n            self.data = list(reader)\n        self._detect_numeric()\n        return len(self.data)\n    \n    def load_json(self, path: str) -> int:\n        \"\"\"从JSON加载数据（支持列表和记录列表�?\"\"\n        with open(path, encoding=\"utf-8\") as f:\n            raw = json.load(f)\n        if isinstance(raw, list):\n            self.data = raw\n        elif isinstance(raw, dict):\n            # 尝试找到第一个列表字�?            for v in raw.values():\n                if isinstance(v, list):\n                    self.data = v\n                    break\n        self._detect_numeric()\n        return len(self.data)\n    \n    def _detect_numeric(self):\n        \"\"\"自动检测数值列\"\"\"\n        if not self.data:\n            return\n        for col in self.data[0]:\n            try:\n                float(self.data[0][col])\n                self.numeric_cols.append(col)\n            except (ValueError, TypeError):\n                pass\n    \n    def describe(self, col: str) -> dict:\n        \"\"\"数值列的统计描�?\"\"\n        if col not in self.numeric_cols:\n            return {\"error\": f\"'{col}' is not numeric\"}\n        vals = [float(r[col]) for r in self.data if r.get(col)]\n        \n        n = len(vals)\n        mean = statistics.mean(vals)\n        median = statistics.median(vals)\n        stdev = statistics.stdev(vals) if n > 1 else 0\n        \n        # 异常检�?(IQR方法)\n        sorted_vals = sorted(vals)\n        q1 = sorted_vals[n // 4]\n        q3 = sorted_vals[3 * n // 4]\n        iqr = q3 - q1\n        lower = q1 - 1.5 * iqr\n        upper = q3 + 1.5 * iqr\n        outliers = [v for v in vals if v < lower or v >"},{"kind":"example","language":"json","snippet":"{\n  \"rows\": 7,\n  \"columns\": [\"date\", \"revenue\", \"users\", \"conversion\"],\n  \"statistics\": {\n    \"revenue\": {\n      \"mean\": 1271.43,\n      \"median\": 1300.0,\n      \"stdev\": 239.05,\n      \"min\": 900,\n      \"max\": 1600,\n      \"trend\": \"stable\"\n    }\n  },\n  \"correlations\": {\n    \"revenue_vs_users\": 0.985,\n    \"revenue_vs_conversion\": 0.672\n  }\n}"}]}}