当前位置: 首页 > 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.gsyq.cn/news/1611728.html

相关文章:

  • 覆盖 190 国、400 品牌:中国 TV OS 如何撬开全球智慧家庭市场
  • Java毕设选题推荐:基于 SpringBoot 的潮流游戏周边网购交易平台的设计与实现 基于 SpringBoot 的游戏周边商品订单管理系统【附源码、mysql、文档、调试+代码讲解+全bao等】
  • AI优化mRNA翻译效率:从密码子优化到深度学习驱动的序列设计
  • AI工具集
  • JAVA注解(简单版)
  • 基于FFmpeg的直播视频录制工具StreamCap
  • 【毕业设计】基于 SpringBoot 的高校学生心理预警干预系统的设计与实现 基于 SpringBoot 的大学生心理状态跟踪管理系统(源码+文档+远程调试,全bao定制等)
  • Spring Cloud分布式事务快速上手(基于Seata AT模式,集成Nacos)--学习版
  • CAD 图纸批量处理:用 OpenClaw 实现图纸格式转换、批量打印、版本号自动标注
  • CPT Markets:把多语言支持做扎实,注重效率的使用者更容易感受到的框架
  • Manim 节奏控制指南 (Rate Functions)
  • 按照这个方法真的领到了8元,千问新用户专属220372
  • 数值优化方法:信任域与无导数技术详解
  • AI 建议用 Redis `SETNX` 防重复提交,为什么锁过期后仍可能创建两条记录
  • 6G网络中大模型技术与多模态感知通信的融合应用
  • FreeRTOS学习笔记(二)
  • 四川大学《微积分I-1》期末试卷及答案2016-2025学年PDF
  • 【车载 AOSP 16 蓝牙(bluedroid)服务】【qcom 平台双蓝牙】【13.耳机如何协商采样率:从 AVDTP 到 AAC 44100 的一条路】
  • YOLO目标检测论文实战指南:从模型改进到实验写作全流程
  • BetterJoy完整指南:让Switch手柄在PC游戏上完美运行
  • 告别泰拉瑞亚原版限制:tModLoader模组开发实战手册
  • Opencv延迟优化
  • 项目包含项目源码、项目文档、数据库脚本、软件工具等资料;
  • 欧姆龙NJ系列EtherCAT总线通信常用系统状态字
  • 【GitHub】 fastText:当“快“成为核心竞争力——从源码拆解 Facebook 的 10 亿词级 NLP 利器
  • 新版通达信多空主力拉升1主图2副1选股指标套装工具
  • 从厨房秤到智能称重:用STM32F103和HX711打造你的第一个物联网传感器节点
  • 别把RAG当架构:Ontology(本体)才是Agent的业务世界
  • 数组名的隐式转换规则
  • FPGA加速数字孪生:GRU算法与硬件优化实践