在Pyspark和Python中对具有多个值的字符串进行排序

yokielove

我有一张桌子,如下所示:

ID   String
1    a,b,c
2    b,c,a
3    c,a,b

我想将String排序为a,b,c,因此我可以对ID和String进行分组,并且ID 1,2,3将一起分组

有什么办法可以将一个字符串中的多个值排序?像下面

   ID     String     String2
    1      a,b,c      a,b,c
    2      b,c,a      a,b,c
    3      c,a,b      a,b,c

df2 = df.withColumn('String2', ','.join(sorted(df.String.split(',')))) is having errors, where it went wrong? 

感谢所有贡献这篇文章的人,正确的代码发布在下面

import pyspark.sql.functions as F
array_sort_udf = F.udf(sorted, 'array<string>')

df2 = df\
.withColumn("String2", F.concat_ws(",", array_sort_udf(F.split("String", ","))))
姓名

您可以使用本机SQL函数的组合来完成任务。split函数使用可以排序的元素创建一个数组array_sort然后,您可以将值串联在一起concat_ws

import pyspark.sql.functions as F
df = spark.createDataFrame([(1, "a,b,c"), (2, "b,c,a"), (3, "c,a,b")], ["ID", "String"])

df.withColumn("String2", F.concat_ws(",", F.array_sort(F.split("String", ",")))).show()

+---+------+-------+
| ID|String|String2|
+---+------+-------+
|  1| a,b,c|  a,b,c|
|  2| b,c,a|  a,b,c|
|  3| c,a,b|  a,b,c|
+---+------+-------+

查看pySpark API参考以获取更多详细信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

对具有字母数字值的字符串数组进行排序(Python3)

来自分类Dev

在python中对具有整数值的字符串进行排序

来自分类Dev

在Bash中,如何在具有字符串和多个空格的文件之间进行交互?

来自分类Dev

如何在Python中从具有多个字符串的数组中获取中值字符串值?

来自分类Dev

如何对具有多个条件的字符串数组进行排序?

来自分类Dev

如何对具有多个先决条件的字符串进行排序?

来自分类Dev

如何对字符串进行排序,以便首先显示具有附加信息的值?

来自分类Dev

对具有普通字符串元素和“数字型”字符串元素的数组进行排序

来自分类Dev

字符串中没有足够的参数,多个 IN 子句在来自 Python 的 MySQL 查询中具有列表值

来自分类Dev

如果子串在字符串中,则当子串具有多个值时

来自分类Dev

如何从pyspark中的spark数据帧行转换具有多个键的JSON字符串?

来自分类Dev

Python-对具有字符串对象的列表进行排序

来自分类Dev

对具有多个值的多维数组进行过滤和排序

来自分类Dev

XSLT:对具有多个值的键进行排序和分组

来自分类Dev

具有字符串值的Pyspark累积计数

来自分类Dev

根据方括号中的值对字符串进行排序

来自分类Dev

在Javascript中对字符串值对数组进行排序

来自分类Dev

根据字符串中的特定值进行排序。

来自分类Dev

在Python中对字符串的字符进行排序

来自分类Dev

在Python中对字符串的字符进行排序

来自分类Dev

在PHP中对具有多个值的多维数组进行排序

来自分类Dev

np.where()具有字符串和多个条件,可以在Excel中创建新列(python)

来自分类Dev

在Ruby中对数字和字符串进行排序的有效方法?

来自分类Dev

通过子字符串和索引对C#中的集合进行有效排序

来自分类Dev

对R中的未知字符串进行排序和计数

来自分类Dev

根据Python中的自定义字母对字符串值进行排序

来自分类Dev

Python-在包含字符串和数字的列表中对数字值进行排序

来自分类Dev

在Python 3中值为None或空字符串时进行反向排序

来自分类Dev

在Python中对具有相同值的列表和子列表进行排序和分组

Related 相关文章

  1. 1

    对具有字母数字值的字符串数组进行排序(Python3)

  2. 2

    在python中对具有整数值的字符串进行排序

  3. 3

    在Bash中,如何在具有字符串和多个空格的文件之间进行交互?

  4. 4

    如何在Python中从具有多个字符串的数组中获取中值字符串值?

  5. 5

    如何对具有多个条件的字符串数组进行排序?

  6. 6

    如何对具有多个先决条件的字符串进行排序?

  7. 7

    如何对字符串进行排序,以便首先显示具有附加信息的值?

  8. 8

    对具有普通字符串元素和“数字型”字符串元素的数组进行排序

  9. 9

    字符串中没有足够的参数,多个 IN 子句在来自 Python 的 MySQL 查询中具有列表值

  10. 10

    如果子串在字符串中,则当子串具有多个值时

  11. 11

    如何从pyspark中的spark数据帧行转换具有多个键的JSON字符串?

  12. 12

    Python-对具有字符串对象的列表进行排序

  13. 13

    对具有多个值的多维数组进行过滤和排序

  14. 14

    XSLT:对具有多个值的键进行排序和分组

  15. 15

    具有字符串值的Pyspark累积计数

  16. 16

    根据方括号中的值对字符串进行排序

  17. 17

    在Javascript中对字符串值对数组进行排序

  18. 18

    根据字符串中的特定值进行排序。

  19. 19

    在Python中对字符串的字符进行排序

  20. 20

    在Python中对字符串的字符进行排序

  21. 21

    在PHP中对具有多个值的多维数组进行排序

  22. 22

    np.where()具有字符串和多个条件,可以在Excel中创建新列(python)

  23. 23

    在Ruby中对数字和字符串进行排序的有效方法?

  24. 24

    通过子字符串和索引对C#中的集合进行有效排序

  25. 25

    对R中的未知字符串进行排序和计数

  26. 26

    根据Python中的自定义字母对字符串值进行排序

  27. 27

    Python-在包含字符串和数字的列表中对数字值进行排序

  28. 28

    在Python 3中值为None或空字符串时进行反向排序

  29. 29

    在Python中对具有相同值的列表和子列表进行排序和分组

热门标签

归档