【在WPS里学Python】丨1.1:数据透视表/分组汇总——groupby()

Lv.2潜力创作者
👍学习从什么时候开始都不晚:我要开始学习了
不用下载, 打开WPS智能表格--PY脚本, 立即开学!
| 📢 | 上一次我们学习了: 👉 def, 用Python封装了一个"XLOOKUP函数" |
| 📌 | 假如我们要对同类型的数据进行求和, 并且有数万行数据. 在表格中, 我们可能自然想到有数据透视表; 但在Python中要用: def for if ... return 一点点都写一遍吗? |
| 💡 | 当然不用! 💡 这就是 Python 真正强大的地方: 👉 超多团队和高手造好的第三方库📦 你可以把第三方库理解成:一个"超大型工具箱"里面已经放好了:🔨 锤子🔧 扳手🪛 螺丝刀🪚 电锯 而我们要做的事情是: 👉 找"工具" 👉 调用"工具" 例如: 数据分析 人工智能 网页爬虫 办公自动化 机器学习 量化交易 图表绘制 几乎都有现成库🔥 |
🤟一、导入第三方库
| 💡 | 先看代码: import pandas as pd |
❓这行代码什么意思?
| 💡 | 👉 import 表示关键字——导入 👉 pandas 第三方库名称 👉 as 为刚导入的模块起一个“别名” 👉 pd 自定义"别名" 以后: pd就等于pandas |
🔁二、对比一下:数据透视表
📊假设有这样一份数据:
write_xl([
["渠道","数量","金额"],
["H5",1000,2000],
["短信",800,40],
["app",500,1500],
["短信",200,10]
],"A1")渠道 | 数量 | 金额 |
H5 | 1000 | 2000 |
短信 | 800 | 40 |
app | 500 | 1500 |
短信 | 200 | 10 |
| 📊 | 现在有个需求: 👉 统计每个渠道的总金额 |
| 📊 | 在WPS中: 👉 数据透视表 |
| 📊 | 在Python中: 对应的就是: 数据.groupby("渠道")["金额"].sum() |
| 😱 | 😱 诶, 没报错?就一行代码? 没错! 就是一行! |
🧩三、拆解一下
| 🧩 | 拆解一下: 数据.groupby("渠道") 意思: 👉 按渠道分组 |
| 🧩 | 然后: ["金额"] 意思: 👉 只看金额列 |
| 🧩 | 最后: .sum() 意思: 👉 求和 |
| 🧩 | 连起来: 数据.groupby("渠道")["金额"].sum() 就是: 👉 按渠道分组后统计金额总和 |
📖四、扩展一下
1.求平均值
| 1️⃣ | 👉 每个渠道平均金额是多少?改一下: 数据.groupby("渠道")["金额"].mean() 💡mean 就是: 👉 平均值 |
2.计数
| 2️⃣ | 👉 每个渠道来了多少条数据? 数据.groupby("渠道")["渠道"].count() 😎 短信出现了两次。 所以计数是2。 |
3.同时统计多个字段
| 3️⃣ | 📢如果: 既想看"数量" 又想看"金额" 数据.groupby("渠道")[["数量","金额"]].sum() 输出: |
4.排序
| 4️⃣ | 📢统计完以后: 很多时候还需要排序。 例如: 按金额从高到低排序 数据.groupby("渠道")["金额"].sum().sort_values(ascending=False) 输出: 💡 .sort_values(ascending=False) 意思: 👉 降序 👉 从大到小 |
| 💯 | 😱 这感觉是不是和数据透视表一模一样了? |
🎉 小结 & 成就感
| 🎉 | ✅ 你已经: • 学会导入第三方库 • 学会 import pandas as pd • 学会 groupby() • 学会求和 • 学会求平均值 • 学会计数 • 学会排序 • 学会Python版数据透视表 |
🥳学到这里你会发现:
这一章开始
👉 真正进入Python生态
👉 开始使用高手们已经造好的"工具库"
📸 学习从什么时候开始都不晚:
✍️ 作业1
统计每个渠道:
👉 数量总和
👉 金额总和
👉 先按数量降序,再按金额降序
提示:
✍️ 作业2
用前面学到的for循环, 写一个"数据透视表"功能出来.
骗你的, 我们要学会站在巨人的肩膀上,不要什么都自己写, 应该多多利用别人的经验, 特别是咱们所处的时代, 要学会用AI来造"工具库", 学会用AI来完成工作和学习, 这样才能把更多的时间用来"思考新问题"、"找到价值"。
可能有小伙伴已经发现, 标题变了. 之前是:0.1,0.2...0.8现在变成了:1.1
这里是在模仿软件版本号。
因为咱们已经学会调用现成第三方库, 使用Python生态,这相当于Python学习进度:🚀 进行了一次重大版本更新。
Lv.2潜力创作者