Python spark从数据框中提取字符

Posted

技术标签:

【中文标题】Python spark从数据框中提取字符【英文标题】:Python spark extract characters from dataframe 【发布时间】:2016-12-01 17:10:41 【问题描述】:

我在 spark 中有一个数据框,如下所示:

ID     | Column
------ | ----
1      | STRINGOFLETTERS
2      | SOMEOTHERCHARACTERS
3      | ANOTHERSTRING
4      | EXAMPLEEXAMPLE

我想做的是从列中提取前 5 个字符加上第 8 个字符并创建一个新列,如下所示:

ID     | New Column
------ | ------
1      | STRIN_F
2      | SOMEO_E
3      | ANOTH_S
4      | EXAMP_E

我不能使用下面的codem,因为列中的值不同,我不想在特定字符上拆分,而是在第6个字符上:

import pyspark
split_col = pyspark.sql.functions.split(DF['column'], ' ')
newDF = DF.withColumn('new_column', split_col.getItem(0))

谢谢大家!

【问题讨论】:

【参考方案1】:

使用这样的东西:

df.withColumn('new_column', concat(df.Column.substr(1, 5),
                                   lit('_'),
                                   df.Column.substr(8, 1)))

这里使用函数substr和concat

这些功能将解决您的问题。

【讨论】:

以上是关于Python spark从数据框中提取字符的主要内容,如果未能解决你的问题,请参考以下文章

Python 3.x - 从数据框中提取字符串[重复]

如何从python中的pandas数据框中的列中提取关键字(字符串)

将字符串(或字符串列表)拆分为 spark 数据框中的各个列

在 scala spark 数据框中提取时间间隔

根据 Python 中的一个标准提取字符串数据框中的数字

从熊猫数据框中仅提取数字和字符串