检查第一个数据帧值以任何第二个数据帧值开始

艾维

我有两个 pyspark 数据框如下:

df1 = spark.createDataFrame(
    ["yes","no","yes23", "no3", "35yes", """41no["maybe"]"""],
    "string"
).toDF("location")

df2 = spark.createDataFrame(
    ["yes","no"],
    "string"
).toDF("location")

我想检查位置col 中的值是否来自df1startsWithdf2位置col 中的,反之亦然。

就像是 :

df1.select("location").startsWith(df2.location)

以下是我在这里期待的输出:

+-------------+
|     location|
+-------------+
|          yes|
|           no|
|        yes23|
|          no3|
+-------------+
麦克

使用 spark SQL 对我来说看起来最简单:

df1.createOrReplaceTempView('df1')
df2.createOrReplaceTempView('df2')
joined = spark.sql("""
    select df1.*
    from df1
    join df2
    on df1.location rlike '^' || df2.location
""")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何为第一个数据帧中匹配的特定列值的所有值获取第二个数据帧的数据?

如果第一个数据帧中存在行,如何更新第二个数据帧的存在值

根据第二个数据帧中 2 列中的值,为第一个数据帧中的某些列添加后缀

将一个熊猫数据帧合并到另一个熊猫数据帧,并从第二个数据帧中删除第一个数据帧中存在的值

从具有不同开始日期的第二个数据帧中过滤第一个数据帧的行

如何根据第二个中的可能值范围合并两个数据帧,但保留第一个中的值?

根据第二个数据帧汇总一个数据帧

出现在第二个数据帧中的第一个数据帧的密钥并标记该事实

在第二个数据帧中映射负值,保留坐标并替换第一个数据帧

使用 Pyspark 查找第二个数据帧中未找到的行以及第一个数据帧的行号

根据数据帧R上成功第一个值的条件替换第二个值

将一个数据帧中的NA值替换为第二个数据帧中的值

将一个数据帧中的值匹配到不同长度的第二个数据帧中的值

如何使用一个数据帧中的值来计算第二个数据帧中大于或小于它的值的总数?

提取一列的唯一值并计算与第一个数据帧相关的同一数据框的第二个列的值

基于第二个数据帧中的值的子集数据帧

R根据另一个中的值搜索第二个数据帧

如何计算一个数据帧中的值并将结果传输到 R 中相应列下的第二个数据帧?

根据第二个数据帧中的日期范围对一个数据帧中的值求和

标识第二个数据框中的行的值小于第一个

映射两个数据帧,计算第二个数据帧中的时间戳在第一个数据帧的日期时间范围内的事件

两个数据帧之间的条件格式,在第二个数据帧中,如果条件对第一个数据帧有效,我想备注为真

Pyspark:内部连接两个 pyspark 数据帧并选择第一个数据帧中的所有列和第二个数据帧中的几列

使用第二个数据帧中的行连接数据帧,这些行在第一个数据帧中不存在,基于列的子集

使用2组不同的数据创建存储过程(将第一个数据中的值用作第二个数据的参数)

检查标签,一个数据帧中的位置是否落在标签中,不同长度熊猫的第二个数据帧的范围

根据第一个数据列的值对第二个数据表中的行进行计数而不合并

当第二个数据帧中存在匹配值时,替换数据帧列的值

根据不同数据帧中的值重新编码第二个数据帧中的值