data_analysis by artificialanalysis/stirrup
npx skills add https://github.com/artificialanalysis/stirrup --skill data_analysis使用 Polars(一个极速的 DataFrame 库)的全面数据分析工具包。此技能为常见的数据分析任务提供使用说明、参考文档和即用脚本。
| 步骤 | 需要呈现的内容 | 用户输入类型 |
|---|---|---|
| 数据加载 | 数据形状、列信息、示例行 | "这是正确的数据吗?" |
| 数据探索 | 汇总统计、数据质量问题 | "需要重点关注哪些列?" |
| 数据转换 | 转换前后的对比 | "这个转换看起来正确吗?" |
| 数据分析 | 关键发现、图表 | "是否需要深入探究任何方面?" |
| 数据导出 | 输出预览 | "可以保存了,还是需要修改?" |
import polars as pl
from polars import col
# 加载数据
df = pl.read_csv("data.csv")
# 探索数据
print(df.shape, df.schema)
df.describe()
# 转换和分析
result = (
df.filter(col("value") > 0)
.group_by("category")
.agg(col("value").sum().alias("total"))
.sort("total", descending=True)
)
# 导出
result.write_csv("output.csv")
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
特定操作的详细 API 参考和模式:
reference/loading.md - 从所有支持的格式加载数据reference/transformations.md - 列操作、筛选、排序、类型转换reference/aggregations.md - 分组、窗口函数、累计总计reference/time_series.md - 日期解析、重采样、滞后特征reference/statistics.md - 相关性、分布、假设检验设置reference/visualization.md - 使用 matplotlib/plotly 创建图表用于常见任务的可执行 Python 脚本:
scripts/explore_data.py - 快速数据集探索和分析scripts/summary_stats.py - 生成全面的统计报告# CSV(最常见)
df = pl.read_csv("data.csv")
# 大文件的惰性加载
df = pl.scan_csv("large.csv").filter(col("x") > 0).collect()
# Parquet(推荐用于大型数据集)
df = pl.read_parquet("data.parquet")
# JSON
df = pl.read_json("data.json")
df = pl.read_ndjson("data.ndjson") # 换行分隔
# 选择列
df.select("col1", "col2")
df.select(col("name"), col("value") * 2)
# 筛选行
df.filter(col("age") > 25)
df.filter((col("status") == "active") & (col("value") > 100))
df.filter(col("name").str.contains("Smith"))
# 添加/修改列
df = df.with_columns(
(col("price") * col("qty")).alias("total"),
col("date_str").str.to_date("%Y-%m-%d").alias("date"),
)
# 条件值
df = df.with_columns(
pl.when(col("score") >= 90).then(pl.lit("A"))
.when(col("score") >= 80).then(pl.lit("B"))
.otherwise(pl.lit("C"))
.alias("grade")
)
# 分组
df.group_by("category").agg(
col("value").sum().alias("total"),
col("value").mean().alias("avg"),
pl.len().alias("count"),
)
# 窗口函数
df.with_columns(
col("value").sum().over("group").alias("group_total"),
col("value").rank().over("group").alias("rank_in_group"),
)
df.write_csv("output.csv")
df.write_parquet("output.parquet")
df.write_json("output.json", row_oriented=True)
pl.scan_csv() + .collect().explain() 来理解和优化查询计划每周安装量
177
代码仓库
GitHub 星标数
320
首次出现
2026年2月11日
安装于
kimi-cli174
gemini-cli174
amp174
github-copilot174
codex174
opencode174
Comprehensive data analysis toolkit using Polars - a blazingly fast DataFrame library. This skill provides instructions, reference documentation, and ready-to-use scripts for common data analysis tasks.
| Step | What to Present | User Input Type |
|---|---|---|
| Data Loading | Shape, columns, sample rows | "Is this the right data?" |
| Data Exploration | Summary stats, data quality issues | "Any columns to focus on?" |
| Transformation | Before/after comparison | "Does this transformation look correct?" |
| Analysis | Key findings, charts | "Should I dig deeper into anything?" |
| Export | Output preview | "Ready to save, or any changes?" |
import polars as pl
from polars import col
# Load data
df = pl.read_csv("data.csv")
# Explore
print(df.shape, df.schema)
df.describe()
# Transform and analyze
result = (
df.filter(col("value") > 0)
.group_by("category")
.agg(col("value").sum().alias("total"))
.sort("total", descending=True)
)
# Export
result.write_csv("output.csv")
Detailed API reference and patterns for specific operations:
reference/loading.md - Loading data from all supported formatsreference/transformations.md - Column operations, filtering, sorting, type castingreference/aggregations.md - Group by, window functions, running totalsreference/time_series.md - Date parsing, resampling, lag featuresreference/statistics.md - Correlations, distributions, hypothesis testing setupreference/visualization.md - Creating charts with matplotlib/plotlyExecutable Python scripts for common tasks:
scripts/explore_data.py - Quick dataset exploration and profilingscripts/summary_stats.py - Generate comprehensive statistics report# CSV (most common)
df = pl.read_csv("data.csv")
# Lazy loading for large files
df = pl.scan_csv("large.csv").filter(col("x") > 0).collect()
# Parquet (recommended for large datasets)
df = pl.read_parquet("data.parquet")
# JSON
df = pl.read_json("data.json")
df = pl.read_ndjson("data.ndjson") # Newline-delimited
# Select columns
df.select("col1", "col2")
df.select(col("name"), col("value") * 2)
# Filter rows
df.filter(col("age") > 25)
df.filter((col("status") == "active") & (col("value") > 100))
df.filter(col("name").str.contains("Smith"))
# Add/modify columns
df = df.with_columns(
(col("price") * col("qty")).alias("total"),
col("date_str").str.to_date("%Y-%m-%d").alias("date"),
)
# Conditional values
df = df.with_columns(
pl.when(col("score") >= 90).then(pl.lit("A"))
.when(col("score") >= 80).then(pl.lit("B"))
.otherwise(pl.lit("C"))
.alias("grade")
)
# Group by
df.group_by("category").agg(
col("value").sum().alias("total"),
col("value").mean().alias("avg"),
pl.len().alias("count"),
)
# Window functions
df.with_columns(
col("value").sum().over("group").alias("group_total"),
col("value").rank().over("group").alias("rank_in_group"),
)
df.write_csv("output.csv")
df.write_parquet("output.parquet")
df.write_json("output.json", row_oriented=True)
pl.scan_csv() + .collect().explain() to understand and optimize query plansWeekly Installs
177
Repository
GitHub Stars
320
First Seen
Feb 11, 2026
Installed on
kimi-cli174
gemini-cli174
amp174
github-copilot174
codex174
opencode174
DOCX文件创建、编辑与分析完整指南 - 使用docx-js、Pandoc和Python脚本
51,800 周安装
jQuery 4.0 迁移指南:破坏性变更、升级步骤与兼容性解决方案
232 周安装
应用程序性能优化全栈指南:从分析、数据库到前端与CDN的端到端优化
236 周安装
React/React Native 组件脚手架生成器 - 自动化创建生产级组件
236 周安装
RWKV架构详解:融合Transformer与RNN优势的高效AI模型安装与使用指南
70 周安装
Hugging Face Jobs:云端运行AI工作负载,无需本地GPU,支持数据处理、批量推理和模型训练
232 周安装
React/Next.js 高级质量保证工具:自动化测试、覆盖率分析与E2E测试脚手架
232 周安装