pyspark 笔记 cast 转换列的类型

1 不借助 pyspark.sql.types

python 复制代码
from pyspark.sql.functions import col

data = [("Alice", "28"), ("Bob", "22"), ("Charlie", "30")]
columns = ["name", "age_str"]
df = spark.createDataFrame(data, columns)
df
#DataFrame[name: string, age_str: string]
#创建一个pyspark的DataFrame



#########################以上是源数据,以下是cast之后的结果############################
df.withColumn('cast_col',col('age_str').cast('int'))
#DataFrame[name: string, age_str: string, cast_col: int]

df.withColumn('cast_col',col('age_str').cast('float'))
#DataFrame[name: string, age_str: string, cast_col: float]

2 借助pysparks.sql.types

python 复制代码
from pyspark.sql.types import *
df.withColumn('cast_col',col('age_str').cast(BooleanType()))
#DataFrame[name: string, age_str: string, cast_col: boolean]

|---------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|
| BooleanType | |
| ByteType | 字节数据类型,占用一个字节的存储空间 |
| DateType | datetime.date 的数据类型 |
| DecimalType | 这个类型有两个可选参数,分别是 * precision------最大位数 * scale------小数点右侧位数 |
| DoubleType | |
| FloatType | |
| IntegerType | |
| LongType | |
| NullType | |
| ShortType | |
| StringType | |
| TimestampType | datetime.datetime 类型 |
| DayTimeIntervalType | datetime.timedelta类型 |

相关推荐
岑梓铭5 小时前
考研408《操作系统》复习笔记,第二章《2.3 进程调度》
笔记·考研·操作系统·os
生物小卡拉5 小时前
指定列交集内容合并-Rscript_v1.0
笔记·学习·r语言
流星5211226 小时前
GC 如何判断对象该回收?从可达性分析到回收时机的关键逻辑
java·jvm·笔记·学习·算法
新子y6 小时前
【小白笔记】「while」在程序语言中的角色
笔记·python
狡猾大先生7 小时前
ESP32S3-Cam实践(OLED表情动画-手搓)
笔记·1024程序员节
2301_800256117 小时前
地理空间数据库作业笔记——查询最偏僻的城市
数据库·笔记·sql·postgresql·1024程序员节
Cathy Bryant9 小时前
线性代数直觉(四):找到特征向量
笔记·神经网络·考研·机器学习·数学建模
012925209 小时前
1.1 笔记 html 基础 初认识
前端·笔记·html
DKPT10 小时前
JVM直接内存和堆内存比例如何设置?
java·jvm·笔记·学习·spring
sulikey11 小时前
Qt 入门简洁笔记:信号与槽
前端·c++·笔记·qt·前端框架·1024程序员节·qt框架