乐于分享
好东西不私藏

数据分析救星,拯救被Excel折磨的你!

数据分析救星,拯救被Excel折磨的你!

⚡️ Hey 兄弟们!我是小帅 👋 今天给大家安利一个我花了 3 天撸出来的项目——全能数据处理工具箱!这玩意儿简直是数据分析师的救命稻草,帮你从繁琐的数据处理中解放出来!

📌 本文看点

01

项目起源

02

核心功能

03

技术实现

04

扣子技能

05

使用案例

06

未来规划

01

PROJECT ORIGIN

🚀 项目起源

事情是这样的 👇

上个月帮女神处理一份销售数据,结果被 Excel 折磨得怀疑人生:

😵 重复数据 删到眼瞎

😭 缺失值 填到崩溃

💀 图表 做得像狗啃的一样丑

那一刻我下定决心:一定要写一个工具,让数据处理变得像喝奶茶一样简单!

于是——【清洗你的 Excel!🤩】诞生了!

02

CORE FEATURES

💻 核心功能

输入 & 输出

【清洗你的 Excel!🤩】工具,瞄准日常主要文件格式:CSV、Excel(*.xls、*.xlsx)、JSON,一个函数快速识别文件类型、导入、搞定:

# 无论什么格式,一个函数,完事! def load_data(self, file_path):  """通用数据读取"""  file_path = Path(file_path)  if file_path.suffix == '.csv':    self.df = pd.read_csv(file_path)  elif file_path.suffix in ['.xlsx''.xls']:    self.df = pd.read_excel(file_path)  elif file_path.suffix == '.json':    self.df = pd.read_json(file_path)  print(f"✅ 数据加载成功: {self.df.shape[0]}行 × {self.df.shape[1]}列")       return self.df

输出的 Excel 包含 4 个 Sheet:

📋 原始数据 | 🧹 清洗后的数据 | 🏷️ 清洗标记 | 📊 相关性矩阵

🧹 智能清洗黑科技

删除重复数据、填充缺失值、检测并修复异常值,基本上覆盖了日常数据处理中90%以上的场景!

(1)一键去重

支持按指定列去重,再也不用手动筛选;比如:你可以指定 <姓名>、<年龄> 2个字段,只有当 <姓名>+<年龄> 一样时,才删除重复数据。

如果你没有指定列,那就当全部列值一样时才执行去重。

if subset is not None:       # 用户指定列去重       self.df = self.df.drop_duplicates(subset=subset)       print(f"🧹 按列 {subset} 去重: 删除{duplicates}条重复值"else:       # 默认全部字段去重       self.df.drop_duplicates(inplace=True)       print(f"🧹 按全部字段去重: 删除{duplicates}条重复值")

(2)智能填充

数值类型的列(如:int、float)自动用中位数填充,其他数据类型的列用众数

for col in self.df.columns:  if self.df[col].dtype in ['int64''float64']:    self.df[col] = self.df[col].fillna(self.df[col].median())       else:    self.df[col] = self.df[col].fillna(self.df[col].mode()[0])

(3)异常值检测

用 IQR 或 Z-score 方法定义值边界,清洗异常值

if method == 'iqr':  Q1 = self.df[column].quantile(0.25)       Q3 = self.df[column].quantile(0.75)       IQR = Q3 - Q1       self.df = self.df[(self.df[column] >= Q1 - 1.5 * IQR) & (self.df[column] <= Q3 + 1.5 * IQR)]elif method == 'zscore':  z_scores = np.abs((self.df[column] - self.df[column].mean()) / self.df[column].std())       self.df = self.df[z_scores <= 3]

(4)保留<清洗标记>

小帅我想得挺周到,专门输出一个 Sheet,保留清洗标记

🏷️ 删除的重复行,标<红色底纹>+<删除线>

🏷️ 填充的空值,标<黄色底纹>

哈哈哈,是不是很贴心鸭~~~ 😂

🏷️ 打标签神器

在数据处理中,有时你是不是想给某些字段打上标签🏷️?

比如:给年龄打标签,30岁以下叫小鲜肉、30~45岁叫轻熟男、45~60岁叫大叔。

没问题,给你搞定:

transformer.transform_data(bin_column='年龄',bin_bins=[0304560100],bin_labels=['小鲜肉''轻熟男''大叔''老爷爷'])

📊 相关性矩阵热力图

找出数据中的关联关系,生成相关性矩阵热力图!

📝 生成美观报告

生成的 Excel 报告还是挺专业滴,哈哈:

✅ 宋体9号字,专业感拉满

✅ 表头蓝色底色,颜值爆表

✅ 重复行红色删除线,一目了然

✅ 填充值黄色加粗,清晰醒目

✅ 相关性热力图自动插入,高级感爆棚

03

TECH STACK

🛠️ 技术实现

我采用了超清晰的模块化设计:

data_processor/

├── io_utils.py        # 数据读写

├── cleaning.py        # 数据清洗

├── transformation.py  # 特征工程

├── analysis.py        # 数据分析

└── visualization.py  # 数据可视化

每个模块独立工作,想用哪个用哪个,简直不要太方便!

04

COZE SKILL

💡 封装成扣子技能

做开发我一直认准一个核心原则:一定要让大家用得够爽! 😜

直接跑代码咱们程序员轻轻松松,但零基础小白看着就头大,门槛直接拉满 😭

所以我直接把代码打包封装,做成 Coze 扣子专属技能啦~

不用敲代码、不用懂技术,全程打字对话就能直接用!!

简单又省心,小白也能轻松拿捏 ✅

05

USE CASE

🎯 使用案例

这里举一个处理电商订单数据的实例,就4个步骤:上传原始数据文件、Say你的需求、等待、下载处理后的文件。

Step 1-2:上传原始文件、说需求

这里的原始数据文件是一个4000多行的电商订单数据集,包含字段:订单编号、下单日期、支付时间、电商平台、商品类目、金额、折扣、支付方式等,还是有点儿复杂的

上传文件后,说出你的处理需求:

需求列表:

  • 需求1、去重:按照【订单编号】、【下单日期】、【支付时间】去重。

  • 需求2、填充空值。

  • 需求3、以【用户等级】作为分组,计算【订单编号】数量、【订单总金额】的平均值与总和、【支付小时】的平均值、【浏览时长(秒)】的平均值。

  • 需求4、以【电商平台】作为分组,计算【订单编号】数量、【订单总金额】的平均值与总和、【支付小时】的平均值、【浏览时长(秒)】的平均值。

  • 需求5、以【支付方式】作为分组,计算【订单编号】数量、【订单总金额】的平均值与总和、【支付小时】的平均值、【浏览时长(秒)】的平均值。

  • 需求6、以【用户地区】作为分组,计算【订单编号】数量、【订单总金额】的平均值与总和、【支付小时】的平均值、【浏览时长(秒)】的平均值。

  • 需求7、以【流量来源】作为分组,计算【订单编号】数量、【订单总金额】的平均值与总和、【支付小时】的平均值、【浏览时长(秒)】的平均值。

  • 需求8、以【商品类目】作为分组,计算【订单编号】数量、【订单总金额】的平均值与总和、【支付小时】的平均值、【浏览时长(秒)】的平均值。

  • 需求9、生成相关字段的相关性矩阵。

Step 3:等待处理中

系统收到你的需求和文件后,会进行分析,然后开始处理,你只需要安静等待就好啦~~~ ☕

Step 4:处理完成后,就可以下载生成好的文件啦

06

ROADMAP

🚀 未来规划

这个工具还在不断进化!未来计划:

🔧 添加更多数据处理算法

📈 支持更多可视化类型

🤖 实现自动化报告生成

🧠 集成机器学习功能

🌟 最后说两句

兄弟们,这个工具真的改变了我的数据处理方式!

从前需要几小时的工作,现在几分钟就能搞定,简直不要太爽!

如果你也被数据处理折磨过,不妨试试这个工具,相信你会回来感谢我的 💪

我是 AI 小帅超会玩

带你解锁更多 AI 黑科技!🤖✨

如果你觉得今天这篇有收获,欢迎 点赞 · 在看 · 转发 三连

我们下期不见不散~👋🏻