python - 如何加入位于另一个数据框的 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。
解决方案
您好,您可以使用简单的连接来执行此操作。
result= dataframe1.join(dataframe2,[ dataframe2.integer_start <= dataframe1.integer , dataframe2.integer_end >= dataframe1.integer ], how='inner').select("integer","animal")
这将为您提供所需的一切。
根据您是否要包含边缘情况,您可以删除 <= 和 >= 中的 =。
推荐阅读
- firebase - 如何创建包含地图的复合索引?
- r - R Shiny:使用复选框更新数据表
- r - 预测 R 函数没有返回置信区间,为什么?
- javascript - 制作一个简单的全局私有变量 - 访问正文元素
- python-3.x - 如何在我用 PyQt5 制作的 GUI 中显示来自 psql 数据库的数据?
- java - 如何正确地将许多服务注入 Spring MVC 控制器?
- c++ - 结构和向量的 C++ 奇怪行为
- sql-server - 在将平面文件导入 SQL Server 表时插入日期
- javascript - 通过javascript将按钮元素更新为倒数计时器
- python - Webots 上的 Python 交互式终端?