PySpark 列的cast(~)
方法返回指定类型的新Column
。
参数
1.dataType
| Type
或 string
将列转换为的类型。
返回值
一个新的 Column
对象。
例子
考虑以下PySpark DataFrame:
df = spark.createDataFrame([("Alex", 20), ("Bob", 30), ("Cathy", 40)], ["name", "age"])
df.show()
+-----+---+
| name|age|
+-----+---+
| Alex| 20|
| Bob| 30|
|Cathy| 40|
+-----+---+
将 PySpark 列类型转换为字符串
要将 DataFrame 的 age
列的类型从数字转换为 string
:
df_new = df.withColumn("age", df["age"].cast("string"))
df_new.show()
+-----+---+
| name|age|
+-----+---+
| Alex| 20|
| Bob| 30|
|Cathy| 40|
+-----+---+
同样,我们可以像这样传入 StringType()
方法:
from pyspark.sql.types import StringType
df_new = df.withColumn("age", df["age"].cast(StringType()))
df_new.show()
+-----+---+
| name|age|
+-----+---+
| Alex| 20|
| Bob| 30|
|Cathy| 40|
+-----+---+
为了简单起见,我建议传递 "string"
而不是 StringType()
。
要确认列类型已转换为字符串,请使用 printSchema()
方法:
df_new.printSchema()
root
|-- name: string (nullable = true)
|-- age: string (nullable = true)
将 PySpark 列类型转换为整数
要将列类型转换为整数,请使用 cast("int")
:
df_new = df.withColumn("age", df["age"].cast("int"))
df_new.printSchema()
root
|-- name: string (nullable = true)
|-- age: integer (nullable = true)
将 PySpark 列类型转换为 float
要将列类型转换为浮点型,请使用 cast("float")
:
df_new = df.withColumn("age", df["age"].cast("float"))
df_new.printSchema()
root
|-- name: string (nullable = true)
|-- age: float (nullable = true)
将 PySpark 列类型转换为日期
要将 PySpark 列类型转换为日期,请使用 to_date(~)
方法而不是 cast(~)
。
相关用法
- Python PySpark Column contains方法用法及代码示例
- Python PySpark Column isNotNull方法用法及代码示例
- Python PySpark Column getItem方法用法及代码示例
- Python PySpark Column rlike方法用法及代码示例
- Python PySpark Column withField方法用法及代码示例
- Python PySpark Column endswith方法用法及代码示例
- Python PySpark Column dropFields方法用法及代码示例
- Python PySpark Column alias方法用法及代码示例
- Python PySpark Column isNull方法用法及代码示例
- Python PySpark Column otherwise方法用法及代码示例
- Python PySpark Column startswith方法用法及代码示例
- Python PySpark Column isin方法用法及代码示例
- Python PySpark Column substr方法用法及代码示例
- Python Collections.UserString用法及代码示例
- Python Collections.UserDict用法及代码示例
- Python Collections.UserList用法及代码示例
- Python Django Collate用法及代码示例
- Python Django ContentTypeManager用法及代码示例
- Python Condition release()用法及代码示例
- Python Condition notify()用法及代码示例
- Python Django ContextMixin.get_context_data用法及代码示例
- Python Condition wait()用法及代码示例
- Python Django Coalesce用法及代码示例
- Python Django Cot用法及代码示例
- Python Django CoordTransform用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 PySpark Column | cast method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。