mik*_*zel 6 apache-spark apache-spark-sql pyspark pyspark-sql
我正在寻找一种方法来从数据帧列中的字符串中获取最后一个字符并将其放入另一列.
我有一个Spark数据框,如下所示:
animal
======
cat
mouse
snake
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西:
lastchar
========
t
e
e
Run Code Online (Sandbox Code Playgroud)
现在我可以使用看起来像这样的UDF来做到这一点:
def get_last_letter(animal):
return animal[-1]
get_last_letter_udf = udf(get_last_letter, StringType())
df.select(get_last_letter_udf("animal").alias("lastchar")).show()
Run Code Online (Sandbox Code Playgroud)
我很好奇是否有更好的方法在没有UDF的情况下做到这一点.谢谢!
Ass*_*son 14
只需使用子串函数
from pyspark.sql.functions import substring
df.withColumn("b", substring(col("columnName"), -1, 1))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7200 次 |
最近记录: |