此问题在此处已有答案:
remove last few characters in PySpark dataframe column(5个答案)
三年前关闭了。
我想在spark dataframe的单个列中删除每个字符串的最后两个值。我想在spark dataframe中做到这一点,而不是将其移动到pandas然后返回。
示例 Dataframe 将在下面,
# +----+-------+
# | age| name|
# +----+-------+
# | 350|Michael|
# | 290| Andy|
# | 123| Justin|
# +----+-------+
其中age列的dtype是字符串。
# +----+-------+
# | age| name|
# +----+-------+
# | 3|Michael|
# | 2| Andy|
# | 1| Justin|
# +----+-------+
这是预期的输出。字符串的最后两个字符已被删除。
2条答案
按热度按时间a7qyws3x1#
Scala/sparkSql的方法很简单。
你可能会得到pyspark的语法
l5tcr1uw2#
函数中的
substring
、length
、col
、expr
可用于此目的。df =你的df在这里
子字符串索引1,-2被使用,因为它的3位数字和....它的年龄字段逻辑上一个人不会活超过100岁:-)OP可以改变子字符串功能适合他的要求。
结果:
Scala回答:
结果: