作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Pyspark 中是否有任何好看的代码来执行不区分大小写的连接?
就像是:
df3 = df1.join(df2,
["col1", "col2", "col3"],
"left_outer",
"case-insensitive")
最佳答案
这并不完全优雅,但您可以创建这些列的新小写版本,纯粹是为了加入。
import pyspark.sql.functions as F
df1_l = df1 \
.withColumn("col1_l", F.lower(df1.col1)) \
.withColumn("col2_l", F.lower(df1.col2)) \
.withColumn("col3_l"), F.lower(df1.col3)
df2_l = df2 \
.withColumn("col1_l", F.lower(df2.col1)) \
.withColumn("col2_l", F.lower(df2.col2)) \
.withColumn("col3_l"), F.lower(df2.col3)
df3 = df1_l.join(df2_l,
["col1_l", "col2_l", "col3_l"],
"left_outer")
df3 = df1.join(df2,
(F.lower(df1.col1) == F.lower(df2.col1))
& (F.lower(df1.col2) == F.lower(df2.col2))
& (F.lower(df1.col3) == F.lower(df2.col3))
"left_outer")
关于apache-spark - Pyspark - 如何进行不区分大小写的数据帧连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40244425/
我是一名优秀的程序员,十分优秀!