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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。