数据分析-27-基于pandas进行模糊匹配merge_asof和groupby分组统计

时间:2024-10-02 09:00:32

文章目录

  • 1 pd.merge_asof
    • 1.1 简单示例
      • 1.1.1 direction='backward'
      • 1.1.2 direction='forward'
      • 1.1.3 direction='nearest'
    • 1.2 时间序列示例
    • 1.3 DataFrame需要按key排序
  • 2 df.groupby
    • 2.1 SAC原理(Split、Apply、Combine)
    • 2.2 常用的简单聚合函数
      • 2.2.1 单一函数
      • 2.2.2 指定聚合列
    • 2.3 agg(aggerate)
      • 2.3.1 多个聚合函数
      • 2.3.2 各列指定不同的聚合函数
    • 2.4 filter过滤数据
    • 2.5 transform不改变尺寸
    • 2.6 apply应用任意函数
  • 3 参考附录

1 pd.merge_asof

pandas.merge_asof()函数是pandas库中的一个非常实用的函数,用于根据时间戳将两个数据集进行合并。该函数可以很好地处理时间戳不完全匹配的情况,并进行模糊匹配。

此方法用于执行asof合并。
这类似于left-join,除了我们匹配最近的键而不是相等的键。
两个DataFrame都必须按键排序。

在pandas 的 merge asof 中可以做到真正的临近匹配,也就是记录可以往上或往下,选择最近的方向进行匹配。

按键距离执行合并。

pd.merge_asof(
left: 'DataFrame | Series', # 要合并的两个数据集
right: 'DataFrame | Series', # 要合并的两个数据集
on: 'IndexLabel | None'