![](/img/trans.png)
[英]Tokenizing and ranking a string column into multiple columns in PySpark
[英]tokenizing a pyspark dataframe column and stroing in new columns
我有一个 PySpark 数据框,它有一个字符串列,其中包含一个逗号分隔的值列表(最多 5 个值),如下所示:
+----+----------------------+
|col1|col2 |
+----+----------------------+
|1 | 'a1, b1, c1' |
|2 | 'a2, b2' |
|3 | 'a3, b3, c3, d3, e3' |
+----+----------------------+
我要来标记col2
和创建5个不同的栏目登出的col2
,可能与空值如果标记化回报率低于5个值:
+----+----+----+----+----+----+
|col1|col3|col4|col5|col6|col7|
+----+----+----+----+----+----+
|1 |'a1'|'b1'|'c1'|null|null|
|2 |'a2'|'b2'|null|null|null|
|3 |'a3'|'b3'|'c3'|'d3'|'e3'|
+----+----+----+----+----+----+
任何帮助都感激不尽。
只需拆分该列并选择。
df.withColumn('col2', split('col2', ', ')) \
.select(col('col1'), *[col('col2')[i].alias('col' + str(i + 3)) for i in range(0, 5)]) \
.show()
+----+----+----+----+----+----+
|col1|col3|col4|col5|col6|col7|
+----+----+----+----+----+----+
| 1| a1| b1| c1|null|null|
| 2| a2| b2|null|null|null|
| 3| a3| b3| c3| d3| e3|
+----+----+----+----+----+----+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.