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

通过pandas merge_asof模糊匹配,快速计算财务同比指标

下面是一个工具函数,使用函数merge_asof,这个模糊匹配的逻辑是固定的,用右边的数据匹配左边的对应的数据

其中direction="backward"表示匹配规则是找小于等于目标日期的最近日期:

import pandas as pddef get_previous_year_data(df, date_col='date', value_col='value'):"""使用merge_asof快速匹配去年同期数据"""df = df.copy()df[date_col] = pd.to_datetime(df[date_col])df = df.sort_values(date_col).reset_index(drop=True)# 创建去年同期日期列df['previous_year_date'] = df[date_col] - pd.DateOffset(years=1)# 使用merge_asof进行最近匹配result_df = pd.merge_asof(df,df[[date_col, value_col]].rename(columns={date_col: 'previous_year_date', value_col: 'previous_year_value'}),on='previous_year_date',direction='backward')  # 右边跟左边做匹配,选择左边的 on这一列,在右边找对应的匹配行的数据,# direction选择backward表示匹配规则是找小于等于目标日期的最近日期return result_dfdef main():# 使用示例data = {'date': ['2020-01-15', '2020-03-20', '2020-05-10', '2021-01-15', '2021-02-28', '2021-05-10', '2021-07-01', '2022-01-15','2022-03-15', '2022-05-10', '2022-08-20'],'value': [100, 150, 200, 110, 160, 210, 250, 120, 170, 220, 280]}result_fast = get_previous_year_data(pd.DataFrame(data))print(result_fast)if __name__ == '__main__':main()

得到结果:
在这里插入图片描述

http://www.dtcms.com/a/513132.html

相关文章:

  • 重庆建网站要多少钱微慕WordPress小程序
  • 三合一网站搭建价格上海公司车辆怎么查询违章
  • 百度自己网站排名长春招聘网智联
  • leetcode 28 找出字符串中第一个匹配项的下标
  • 广州建设网站平台app与微网站的区别是什么意思
  • docker和docker compose离线安装-2-报错
  • 烟台放心的一站式网站建设佛山网站建设凤软
  • 网站调用网页怎么做国外那些网站做展厅比较好
  • 第2部分-线程的创建与管理
  • ORA-600 kokasgi1故障处理(sys被重命名)---惜分飞
  • 建电子商务网站需要多少钱攻略类型网站如何做产品营销
  • 曲阜官方建设局网站免费域名的选择方法
  • 网站主机是什么意思图片制作器在线制作
  • 03-Machine-2-dht.py K230外接数字温湿度传感器DHT11模块演示
  • 前端代码练习网站包工头接活网站app
  • 深圳知名网站设计公司排名苏州建设监理有限公司网站
  • 长沙做网站seo衡阳网站建设开发价格
  • 网站网页翻页设计展厅展览设计
  • chooseVideo传视频无法取到缩略图
  • 给网站如何做飘窗韩国服装网站建设
  • 高级技巧:利用淘宝 API 的字段映射与数据增强,丰富商品信息维度
  • PM2.5实验滤膜等分切割器90mm疾控中心可用
  • 【独龙江的守望】中国历朝历代历史信息整理
  • 企业网站快速优化排名韩国优秀电商网站
  • 源码下载网站推荐wordpress 制作小工具栏
  • 强网杯-2025-pwn-bph
  • 对前后端分离与前后端不分离(通常指服务端渲染)的架构进行全方位的对比分析
  • 大数据成矿预测系列(五) | 告别特征工程:卷积神经网络(CNN)如何实现“端到端”成矿预测
  • 国内响应式网站模板教学网站建设 效益
  • 华东建设安装有限公司网站wordpress手机编辑器插件下载