首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pd.concat和pd.merage_asof的使用

pd.concat和pd.merage_asof的使用
EN

Stack Overflow用户
提问于 2022-10-07 02:59:07
回答 2查看 30关注 0票数 0

我曾经看到pd.concatpd.merge_asof的用法如下:

代码语言:javascript
复制
df = pd.concat([
    pd.merge_asof(
        df1,
        df2,
        left_on = "m",
        right_on = "m",
        direction = "nearest",
        tolerance = 3
    )
 ])

我不太清楚它正在尝试做什么,以及为什么我们需要pd.concat而不是pd.merge_asof的结果。tolerance = 3是如何使用的?

EN

回答 2

Stack Overflow用户

发布于 2022-10-07 03:02:38

这里的代码还没有完成

代码语言:javascript
复制
df = pd.concat([
    pd.merge_asof(
        df1,
        df2,
        left_on = "m",
        right_on = "m",
        direction = "nearest",
        tolerance = 3
    ),somedf])

另外,对于tolerance,如果差异小于3,它将返回匹配,如果大于3,则不认为匹配。

票数 0
EN

Stack Overflow用户

发布于 2022-10-07 03:30:41

pd.merge_asof的工作方式类似于左联接,但通常不用于匹配确切的值。

解释代码:它使用"m“列作为键在df1 (左)和df2 (右)之间创建一个”左联接“。pd.merge_asof所做的就是寻找一个完全匹配的。如果没有找到它,它会在默认情况下带来新的值,向后看(方向=“向后”是默认的,必须对dfs进行排序)。

方向:在这种情况下,方向值被定义为“最近的”。因此,它将寻找一个匹配的,如果没有找到,这里将回顾和向前,并计算差异(距离)。结果与较低的差异将是赢家!

什么是容忍:当回顾和向前看时,这里允许的最大差异是3。如果一个值超过这个限制将不允许加入,而另一个将是赢家。如果这两个值都超过了,它将返回NaN。

About pd.concat:,好吧,它只是连接在下面(默认情况下声明轴时)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73981922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档