Pyspark.sql.dataframe将每行特定列的数组数据转换为一个新数据框,其中数组数据作为单独的行
我的数据框类型是:
type(df)
:pyspark.sql.dataframe.DataFrame
它有3列40行。
Columns数据类型如下:
df.dtypes
:
[('Col1',
'struct<A:string,B:string,C:string,D:string,E:string>'),
('Col2', 'string'),
('Col3', 'array<struct<timestamp:bigint,value:double>>')]
提示点:
问题:
我想将每一行的第三列转换为一个新数据框,该数据框将具有20,000个或更多或更少的行,具体取决于该特定行的第三列的数组大小。
每行的新数据帧将具有两列时间戳和值。
问题
我不知道如何使用索引获取每一行。如果执行此操作,则可以应用explode()
函数,然后将获得一个包含两列时间戳和值的数据框。
因为我不知道“如何使用索引来获取每一行”,所以我直接在最后一列上应用了explode()
,这是我的工作方式,但问题是我会松开第一行的数据结尾,第二行的数据开始等在爆炸数据框中的索引是什么。
请帮助。什么是达到目标的正确方法。