当前位置: 首页 > news >正文

Python学习笔记·第25天:Pandas高级技巧——用最通俗的话讲懂重采样、多索引和数据合并

一、重采样

一句话理解:把数据的时间粒度变粗。

你有一份每天的交易记录,老板问你:“每周总共卖了多少钱?”

你就用重采样,把每天的数据自动汇总成每周的。

# 每7天营业总额df.resample('7D',on='日期').sum()['交易额']

比喻:就像你记账,本来是每天记一笔,月底想看每周花了多少钱,就把7天的账加在一起看。重采样就是帮你自动做这件事。

常用频率

  • '7D'→ 每7天
  • 'M'→ 每月
  • 'W'→ 每周
  • 'H'→ 每小时

二、多索引

一句话理解:给表格加多层标签,定位更精准。

# 按姓名和柜台分组df.groupby(by=['姓名','柜台']).sum()# 查看周七在化妆品柜台的交易数据df.loc[('周七','化妆品')]

比喻:就像快递地址,有省、市、区三级。你要找一个包裹,不是用“湖南省”一个标签,而是用“湖南省-长沙市-开福区”三个标签一起定位。多索引就是给数据加多级标签,想查多细就多细。

三、标准差

一句话理解:看数据“稳不稳定”。

df.std()# 标准差df.std()**2# 方差

比喻:两个员工这个月的销售业绩:

员工每天销售额标准差
张三1000, 1100, 1050, 980, 1020小(稳定)
李四2000, 200, 800, 1500, 300大(过山车)

张三的标准差小,说明他每天表现稳定。李四的标准差大,说明他今天可能卖2000,明天只卖200,发挥不稳定。

一句话:标准差越小,数据越稳定;标准差越大,数据越像过山车。

四、协方差

一句话理解:看两组数据是“同穿一条裤子”还是“你进我退”。

df.cov()# 协方差矩阵

比喻:两个人一起散步:

  • 协方差为正:你往前走,我也往前走(步调一致,正相关)
  • 协方差为负:你往前走,我往后退(一个赚一个赔,负相关)
  • 协方差为零:你走你的,我走我的(互相独立,没啥关系)

股市里理解:买了两只股票。协方差为正,说明它俩同涨同跌;协方差为负,说明一只涨的时候另一只跌,正好对冲风险。

五、dt接口和str接口

一句话理解:Pandas内置的“瑞士军刀”。

# dt接口:处理日期pd.to_datetime(df['日期']).dt.weekday_name# 自动转成“周一、周二...”pd.to_datetime(df['日期']).dt.quarter# 自动转成“第1季度、第2季度...”# str接口:处理文字df['日期'].str.extract(r'(\d{4}-\d{2})')# 从日期里提取“2026-06”df['日期'].str.endswith('6')# 判断日期是不是以6结尾

比喻:就像Excel里的“文本处理”和“日期处理”菜单。你要提取年月日、判断是否包含某个字符,不需要写for循环,直接用这些接口一行搞定。

六、数据合并

一句话理解:把多个表格拼在一起。

按行拼接(加长)

pd.concat([1,2,3])

比喻:你有1月、2月、3月的销售表,结构一模一样。用concat把三张表上下堆叠,变成一张更长的总表。

按列关联(加宽)

pd.merge(员工表,工资表,on='工号')

比喻:你有一张“员工信息表”(工号、姓名、部门)和一张“工资表”(工号、基本工资、绩效)。两张表都有“工号”这一列,用merge按工号关联,变成一张既有员工信息又有工资的大表。

今日核心总结(一张表记住)

知识点一句话什么时候用
重采样把数据从细变粗想把每天的数据汇总成每周/每月
多索引给数据加多层标签想按多个维度精确定位数据
标准差看数据稳不稳定想比较两组数据的波动程度
协方差看两组数据是不是同步想分析两只股票/两个指标的关系
dt接口自动处理日期想把日期转成周几、第几季度
str接口自动处理文字想提取、判断、替换字符串
concat表格上下堆叠多张结构相同的表合并
merge表格左右关联两张有关联的表按某列合并

注:已经使用DeepSeek进行整理精简核心内容,些许不理解的配合个人笔记进行理解。

http://www.jsqmd.com/news/1099763/

相关文章:

  • Java毕设选题推荐:基于 SpringBoot 的潮流游戏周边网购交易平台的设计与实现 基于 SpringBoot 的游戏周边商品订单管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • VSCode Remote SSH 中 Codex 连接超时的排查与解决记录
  • 一句指令完成电脑操作!腾讯的AI助手Marvis让我电脑会干活了:改设置、查文件、整理文档
  • 请问微信小程序域名迁移有懂行的吗?有偿咨询
  • ChatGPTPlus和Pro怎么选?普通用户别再乱花钱了
  • SeaweedFS:33000 Star 的分布式文件系统,小文件读写做到了极致
  • Java毕设项目:基于 SpringBoot 的高校心理健康普查管理系统的设计与实现 基于 SpringBoot 的学生心理测评统计分析系统 (源码+文档,讲解、调试运行,定制等)
  • Java计算机毕设之基于 SpringBoot 的二次元潮玩交易商城管理系统的设计与实现 基于 SpringBoot 的游戏周边二手交易流转系统(完整前后端代码+说明文档+LW,调试定制等)
  • SpringDoc OpenAPI 配置
  • ESP32实验教程:三位按键输入译码控制8路输出(替代74HC138逻辑)
  • python: Fail-Fast Pattern
  • AI优化mRNA翻译效率:从密码子优化到深度学习驱动的序列设计
  • AI工具集
  • 【计算机毕业设计案例】基于 SpringBoot 的高校外卖配送调度监控系统的设计与实现 基于 SpringBoot 的校园餐饮消费配送管理系统(程序+文档+讲解+定制)
  • JAVA注解(简单版)
  • 2026-06-30 后端启动异常排查记录
  • Java毕设项目:基于 SpringBoot 的电竞周边用品交易管理系统的设计与实现 基于 SpringBoot 的小众游戏周边购物服务系统 (源码+文档,讲解、调试运行,定制等)
  • 基于FFmpeg的直播视频录制工具StreamCap
  • 【毕业设计】基于 SpringBoot 的高校学生心理预警干预系统的设计与实现 基于 SpringBoot 的大学生心理状态跟踪管理系统(源码+文档+远程调试,全bao定制等)
  • 企业做GEO内容发布,哪些做法容易出风险?
  • CPT Markets:把多语言支持做扎实,注重效率的使用者更容易感受到的框架
  • Vol.57|接新IM渠道还要改代码?现在填几个字段就行
  • 无人机视角航拍违建违章建筑识别数据集labelme格式245张2类别
  • CAD 图纸批量处理:用 OpenClaw 实现图纸格式转换、批量打印、版本号自动标注
  • Spring Cloud分布式事务快速上手(基于Seata AT模式,集成Nacos)--学习版
  • Manim 节奏控制指南 (Rate Functions)
  • Java计算机毕设之基于 SpringBoot 的学生心理咨询预约管理系统的设计与实现 基于 SpringBoot 的高校心理健康信息管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • 按照这个方法真的领到了8元,千问新用户专属220372
  • YOLO-World实战:零样本目标检测,一句话实现开放词汇检测
  • AI 建议用 Redis `SETNX` 防重复提交,为什么锁过期后仍可能创建两条记录