首页 > 解决方案 > 如何加入位于另一个数据框的 2 列之间的 Pyspark 数据框?

问题描述

我有 2 个数据帧,其中一个由 1 列整数组成,第二个数据帧由 3 列(integer_start、integer_end、animal)组成。

数据框及其列

dataframe1 -> integer

dataframe2 -> integer_start, integer_end, animal

所以我想做的是加入这两个数据框,这样如果

dataframe1.integer is in between dataframe2.integer_start and dataframe2.integer_end

取出 dataframe1.integer 和相应的 dataframe2.animal 并放入一个名为 dataframe3 的新数据帧中

希望你能帮我解决这个问题。我为此使用 PySpark。

标签: pythondataframepyspark

解决方案


您好,您可以使用简单的连接来执行此操作。

result= dataframe1.join(dataframe2,[ dataframe2.integer_start <= dataframe1.integer  , dataframe2.integer_end >= dataframe1.integer ], how='inner').select("integer","animal")

这将为您提供所需的一切。

根据您是否要包含边缘情况,您可以删除 <= 和 >= 中的 =。


推荐阅读