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

📅 2026/7/1 2:47:26
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进行整理精简核心内容些许不理解的配合个人笔记进行理解。