开发者社区> 问答> 正文

基于使用Python/ panda的部分日期交集从数据流中查找值

我有两个包含熊猫日期范围的数据框。

df1:
        Year                              Range
0 2017-03-01  [2017-03-01, 2018-06-30 23:59:59]

df2:
        Text                              Range
0 lorel ipsum [2017-07-01, 2017-07-01 06:00:00]

如果来自df2的行中的范围与df1中的范围重叠,我想将来自df2的文本带入df1。预期结果:

df1
        Year                              Range  Text
0 2017-03-01  [2017-03-01, 2018-06-30 23:59:59]  lorel ipsum

我目前使用的是iterrows(),它不是performant。 我知道我可以做这样的事情使用归并然后过滤,然而,我寻找的解决方案更像这样(如果可能的话):

myt=df2.loc[0,'Range']
df1.loc[df1['Range'].overlaps(myt)])

我意识到我刚才提供的语法是不正确的。aps不需要一个系列,但是,我正在寻找某种“查找”函数,它将返回值时,重叠是“真”。 例如,这是可行的,但我需要能够应用它的系列没有迭代:

print(df1.loc[0,'Range'].overlaps(myt))

我在堆栈中查看过的许多其他资源似乎都使用区间索引和其他模块/库。似乎应该有一种更简洁的方法来使用panda函数来实现这一点。 问题来源StackOverflow 地址:/questions/59381563/lookup-values-from-a-dataframe-based-on-partial-date-intersection-using-python-p

展开
收起
kun坤 2019-12-28 13:45:23 866 0
1 条回答
写回答
取消 提交回答
  • pandas 里面的query方法是可以直接跟遍历数据库一样query数据框的哦,建议尝试一下

    2020-03-25 17:03:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载