PySpark DataFrame 的 select(~)
方法返回具有指定列的新 DataFrame。
參數
1.*cols
| string
、Column
或 list
要包含在返回的 DataFrame 中的列。
返回值
一個新的 PySpark 數據幀。
例子
考慮以下PySpark DataFrame:
df = spark.createDataFrame([["Alex", 25], ["Bob", 30]], ["name", "age"])
df.show()
+----+---+
|name|age|
+----+---+
|Alex| 25|
| Bob| 30|
+----+---+
選擇 PySpark DataFrame 的單列
要選擇單個列,請將列名稱作為字符串傳遞:
df.select("name").show()
+----+
|name|
+----+
|Alex|
| Bob|
+----+
或者等效地,我們可以傳入一個 Column
對象:
df.select(df["name"]).show()
+----+
|name|
+----+
|Alex|
| Bob|
+----+
這裏, df["name"]
的類型是 Column
。在這裏,您可以將 select(~)
的作用視為將 Column
對象轉換為 PySpark DataFrame。
或者等效地,也可以使用 sql.function
獲取 Column
對象:
import pyspark.sql.functions as F
df.select(F.col("name")).show()
+----+
|name|
+----+
|Alex|
| Bob|
+----+
選擇 PySpark DataFrame 的多個列
要選擇列 name
和 age
:
df.select("name","age").show()
+----+---+
|name|age|
+----+---+
|Alex| 25|
| Bob| 30|
+----+---+
或者等效地,我們可以提供多個 Column
對象:
df.select(df["name"],df["age"]).show()
+----+---+
|name|age|
+----+---+
|Alex| 25|
| Bob| 30|
+----+---+
或者等效地,我們可以提供從 sql.functions
獲得的 Column
對象:
import pyspark.sql.functions as F
df.select(F.col("name"), F.col("age")).show()
+----+---+
|name|age|
+----+---+
|Alex| 25|
| Bob| 30|
+----+---+
選擇 PySpark DataFrame 的所有列
要選擇所有列,請傳遞 "*"
:
df.select("*").show()
+----+---+
|name|age|
+----+---+
|Alex| 25|
| Bob| 30|
+----+---+
選擇給定列標簽列表的列
要選擇給定列標簽列表的列,請使用 *
運算符:
cols = ["name", "age"]
df.select(cols).show()
+----+---+
|name|age|
+----+---+
|Alex| 25|
| Bob| 30|
+----+---+
這裏,*
運算符用於將列表轉換為位置參數。
選擇以某個子字符串開頭的列
要選擇以特定子字符串開頭的列:
cols = [col for col in df.columns if col.startswith("na")]
df.select(cols).show()
+----+
|name|
+----+
|Alex|
| Bob|
+----+
在這裏,我們使用 Python 的列表理解來獲取以子字符串 "na"
開頭的列標簽列表:
cols = [col for col in df.columns if col.startswith("na")]
cols
['name']
相關用法
- Python Pandas DataFrame select_dtypes方法用法及代碼示例
- Python PySpark DataFrame selectExpr方法用法及代碼示例
- Python Pandas DataFrame set_axis方法用法及代碼示例
- Python Pandas DataFrame set_index方法用法及代碼示例
- Python Pandas DataFrame sem方法用法及代碼示例
- Python Pandas DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame swaplevel方法用法及代碼示例
- Python PySpark DataFrame sampleBy方法用法及代碼示例
- Python PySpark DataFrame show方法用法及代碼示例
- Python Pandas DataFrame stack方法用法及代碼示例
- Python Pandas DataFrame shift方法用法及代碼示例
- Python Pandas DataFrame sort_index方法用法及代碼示例
- Python Pandas DataFrame size屬性用法及代碼示例
- Python Pandas DataFrame swapaxes方法用法及代碼示例
- Python PySpark DataFrame sort方法用法及代碼示例
- Python PySpark DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame sub方法用法及代碼示例
- Python Pandas DataFrame sum方法用法及代碼示例
- Python Pandas DataFrame std方法用法及代碼示例
- Python PySpark DataFrame summary方法用法及代碼示例
- Python Pandas DataFrame shape屬性用法及代碼示例
- Python Pandas DataFrame sort_values方法用法及代碼示例
- Python Pandas DataFrame slice_shift方法用法及代碼示例
- Python Pandas DataFrame squeeze方法用法及代碼示例
- Python Pandas DataFrame empty屬性用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 PySpark DataFrame | select method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。