簡體   English   中英

將第 1 行提升為列標題 - Spark DataFrame

[英]Promote Row 1 as Column Heading - Spark DataFrame

我低於 Spark 數據框。

在此處輸入圖片說明

我想將第 1 行提升為列標題,新的 spark DataFrame 應該是

在此處輸入圖片說明

我知道這可以在熊貓中輕松完成,因為:

new_header =  pandaDF.iloc[0]
pandaDF = pandaDF[1:]
pandaDF.columns = new_header

但是不想轉換為 Pandas DF,因為必須將其保存到數據庫中,其中必須將 Pandas DF 轉換回 Spark DF,然后注冊為表,然后寫入 db。

嘗試使用.toDFfilter我們的列值。

Example:

#sample dataframe
df.show()
#+----------+------------+----------+
#|    prop_0|      prop_1|    prop_2|
#+----------+------------+----------+
#|station_id|station_name|sample_num|
#|       101|  Station101| Sample101|
#|       102|  Station102| Sample102|
#+----------+------------+----------+

from pyspark.sql.functions import *

cols=sc.parallelize(cols).map(lambda x:x).collect()

df.toDF(*cols).filter(~col("station_id").isin(*cols)).show()
#+----------+------------+----------+
#|station_id|station_name|sample_num|
#+----------+------------+----------+
#|       101|  Station101| Sample101|
#|       102|  Station102| Sample102|
#+----------+------------+----------+

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM