My data frame looks like -
+----+----+-------------+
|col1|col2| col3|
+----+----+-------------+
| 1| A|[[[1, 2, 3]]]|
| 2| B| [[[3, 5]]]|
+----+----+-------------+
I want data frame -
+----+----+----+
|col1|col2|col3|
+----+----+----+
| 1| A| 1|
| 1| A| 2|
| 1| A| 3|
| 2| B| 3|
| 2| B| 5|
+----+----+----+
My code is like -
from pyspark.sql.functions import explode
df = spark.createDataFrame([(1, "A", [[[1,2,3]]]), (2, "B", [[[3,5]]])],["col1", "col2", "col3"])
df1 = df.withColumn("col3", explode(df.col3))
df1.show()
But the output is -
+----+----+-----------+
|col1|col2| col3|
+----+----+-----------+
| 1| A|[[1, 2, 3]]|
| 2| B| [[3, 5]]|
+----+----+-----------+
How to solve it using explode function in pyspark
df.withColumn('col3', explode(df.col3[0][0])).show()- jxc