【问题标题】:Python spark extract characters from dataframePython spark从数据框中提取字符
【发布时间】: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))

谢谢大家!

【问题讨论】:

    标签: python-2.7 apache-spark pyspark


    【解决方案1】:

    使用这样的东西:

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

    这里使用函数substrconcat

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

    【讨论】:

      猜你喜欢
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      • 2016-08-29
      • 1970-01-01
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      • 2015-05-31
      相关资源
      最近更新 更多