PySpark SQL 函数的 explode(~)
方法会展平 list
或 dictionary
类型的指定列值。
参数
1.col
| string
或 Column
包含要展平的列表或字典的列。
返回值
新的 PySpark 列。
例子
展平列表
考虑以下PySpark DataFrame:
df = spark.createDataFrame([[['a','b']],[['d']]], ['vals'])
df.show()
+------+
| vals|
+------+
|[a, b]|
| [d]|
+------+
这里,vals
列包含列表。
要展平 vals
列中的列表,请使用 explode(~)
方法:
import pyspark.sql.functions as F
df.select(F.explode('vals').alias('exploded')).show()
+--------+
|exploded|
+--------+
| a|
| b|
| d|
+--------+
在这里,我们使用 alias(~)
方法为 explode(~)
返回的列分配标签。
扁平化字典
考虑以下PySpark DataFrame:
df = spark.createDataFrame([[{'a':'b'}],[{'c':'d','e':'f'}]], ['vals'])
df.show()
+----------------+
| vals|
+----------------+
| {a -> b}|
|{e -> f, c -> d}|
+----------------+
这里,vals
列包含字典。
要展平 vals
列中的每个字典,请使用 explode(~)
方法:
df.select(F.explode('vals').alias('exploded_key', 'exploded_val')).show()
+------------+------------+
|exploded_key|exploded_val|
+------------+------------+
| a| b|
| e| f|
| c| d|
+------------+------------+
对于字典,explode(~)
方法返回两列 - 第一列包含所有键,第二列包含所有值。
相关用法
- Python PySpark SQL Functions expr方法用法及代码示例
- Python PySpark SQL Functions element_at方法用法及代码示例
- Python PySpark SQL Functions split方法用法及代码示例
- Python PySpark SQL Functions repeat方法用法及代码示例
- Python PySpark SQL Functions concat方法用法及代码示例
- Python PySpark SQL Functions instr方法用法及代码示例
- Python PySpark SQL Functions count_distinct方法用法及代码示例
- Python PySpark SQL Functions dayofmonth方法用法及代码示例
- Python PySpark SQL Functions date_add方法用法及代码示例
- Python PySpark SQL Functions array方法用法及代码示例
- Python PySpark SQL Functions concat_ws方法用法及代码示例
- Python PySpark SQL Functions col方法用法及代码示例
- Python PySpark SQL Functions translate方法用法及代码示例
- Python PySpark SQL Functions dayofweek方法用法及代码示例
- Python PySpark SQL Functions regexp_extract方法用法及代码示例
- Python PySpark SQL Functions regexp_replace方法用法及代码示例
- Python PySpark SQL Functions round方法用法及代码示例
- Python PySpark SQL Functions countDistinct方法用法及代码示例
- Python PySpark SQL Functions date_format方法用法及代码示例
- Python PySpark SQL Functions collect_list方法用法及代码示例
- Python PySpark SQL Functions lit方法用法及代码示例
- Python PySpark SQL Functions upper方法用法及代码示例
- Python PySpark SQL Functions length方法用法及代码示例
- Python PySpark SQL Functions dayofyear方法用法及代码示例
- Python PySpark SQL Functions trim方法用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 PySpark SQL Functions | explode method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。