取消
顯示的結果
而不是尋找
你的意思是:

從一個字符串序列選擇dataframe列

Jean-FrancoisRa
新的因素

有一個簡單的方法來選擇列和一個字符串序列從dataframe嗎?

類似的

val colNames = Seq (c1, c2) df.select (colNames)

1接受解決方案

接受的解決方案

JongKim
新的貢獻者三世

我也有同樣的問題,下麵是如何使它工作使用列類型和可變參數:

/ /使dataframe org.apache.spark.sql導入示例。DataFrame val df: DataFrame = sc.parallelize (Seq ((1、2、3), (4、5、6), (7 8 9)))。toDF (“a”、“b”、“c”)

/ /期望的列名列表字符串(可以以編程方式)val column_names_str = Seq [string] (“a”、“b”)

/ /構造進口org.apache.spark.sql.functions列的列名列表類型。坳val column_names_col = column_names_str。地圖(name = >坳(名稱))/ / val column_names_col = column_names_str。地圖(name = >坳(名字)。as (s renamed_ $ name)) / /重命名

/ /從dataframe使用可變參數的語法選擇特定列* val df_new = df.select (column_names_col:*)df_new.show ()

這應該按預期收益率:

+ - - - + - - - + | | | b + - - - + - - - + | 1 | 2 | | 4 | 5 | | 7 | 8 | + - - - + - - - +

在原帖子查看解決方案

2回答2

JongKim
新的貢獻者三世

我也有同樣的問題,下麵是如何使它工作使用列類型和可變參數:

/ /使dataframe org.apache.spark.sql導入示例。DataFrame val df: DataFrame = sc.parallelize (Seq ((1、2、3), (4、5、6), (7 8 9)))。toDF (“a”、“b”、“c”)

/ /期望的列名列表字符串(可以以編程方式)val column_names_str = Seq [string] (“a”、“b”)

/ /構造進口org.apache.spark.sql.functions列的列名列表類型。坳val column_names_col = column_names_str。地圖(name = >坳(名稱))/ / val column_names_col = column_names_str。地圖(name = >坳(名字)。as (s renamed_ $ name)) / /重命名

/ /從dataframe使用可變參數的語法選擇特定列* val df_new = df.select (column_names_col:*)df_new.show ()

這應該按預期收益率:

+ - - - + - - - + | | | b + - - - + - - - + | 1 | 2 | | 4 | 5 | | 7 | 8 | + - - - + - - - +

vEdwardpc
新的貢獻者二世

謝謝。我需要修改最後一行。

val df_new = df.select (column_names_col: _ *) df_new.show ()

愛德華。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map