我有两个包含熊猫日期范围的数据框。
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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。