Ama*_*a C 10 python-2.7 apache-spark pyspark
我在spark中有一个数据框,如下所示:
ID | Column
------ | ----
1 | STRINGOFLETTERS
2 | SOMEOTHERCHARACTERS
3 | ANOTHERSTRING
4 | EXAMPLEEXAMPLE
Run Code Online (Sandbox Code Playgroud)
我想要做的是从列加上第8个字符中提取前5个字符并创建一个新列,如下所示:
ID | New Column
------ | ------
1 | STRIN_F
2 | SOMEO_E
3 | ANOTH_S
4 | EXAMP_E
Run Code Online (Sandbox Code Playgroud)
我不能使用下面的代码,因为列中的值不同,我不想拆分特定的字符,但是在第6个字符上:
import pyspark
split_col = pyspark.sql.functions.split(DF['column'], ' ')
newDF = DF.withColumn('new_column', split_col.getItem(0))
Run Code Online (Sandbox Code Playgroud)
谢谢大家!
Thi*_*dim 12
使用这样的东西:
df.withColumn('new_column', concat(df.Column.substr(1, 5),
lit('_'),
df.Column.substr(8, 1)))
Run Code Online (Sandbox Code Playgroud)
这些功能将解决您的问题.
| 归档时间: |
|
| 查看次数: |
10565 次 |
| 最近记录: |