group-by-analysis
对多 Sheet 的 Excel 文件进行行数统计、大文件 Parquet 转换预处理、数据清洗及分组聚合分析,并生成带样式标记的统计表与可视化图表。
npx skills add OpenSenseNova/SenseNova-Skills --skill group-by-analysis --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
Step1 对数据进行清洗与预处理,包括处理合并单元格、正则过滤以及分类映射。 ```python import re # 1. 处理合并单元格:向前填充 target_col = 'category_column' df[target_col] = df[target_col].ffill() # 2. 正则清洗:去除无效字符或筛选特定格式 def clean_text(text): if pd.isna(text): return text return re.sub(r'[^\w\s]', '', str(text)).strip() df[target_col] = df[target_col].apply(clean_text) # 3. 分类映射函数骨架 def map_categories(value): mapping = { 'example_key_1': 'Group_A', 'example_key_2': 'Group_B' } return mapping.get(value, 'Others') df['group_tag'] = df[target_col].apply(map_categories) ``` Step2 执行分组统计,计算频数、占比,并添加总计行。 ```python group_col = 'group_tag' value_col = 'value_column' # 分组聚合:计数与求和 summary = df.groupby(group_col)[value_col].agg(['count', 'sum']).reset_index() # 计算占比 total_sum = summary['sum'].sum() summary['percentage'] = (summary['sum'] / total_sum).map(lambda x: f"{x:.2%}") # 添加总计行 total_row = pd.DataFrame({ group_col: ['Total'], 'count': [summary['count'].sum()], 'sum': [total_sum], 'percentage': ['100.00%'] }) summary_final = pd.concat([summary, total_row], ignore_index=True) print(summary_final) ``` Step3 生成可视化柱状图,配置中文字体、数值标签及网格美化。 ```python import matplotlib.pyplot as plt # 配置中文字体支持 plt.rcParams['font.sans-serif'] = ['SimHei', 'DejaV
What does the group-by-analysis skill do?
对多 Sheet 的 Excel 文件进行行数统计、大文件 Parquet 转换预处理、数据清洗及分组聚合分析,并生成带样式标记的统计表与可视化图表。
How do I install it?
Run `npx skills add OpenSenseNova/SenseNova-Skills --skill group-by-analysis --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From OpenSenseNova/SenseNova-Skills, a repository with 4,855 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
