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类型 |

相关推荐
天天开心a1 小时前
OSPF基础部分知识点
网络·笔记·学习·智能路由器·hcip
致***锌4 小时前
期权平仓后权利金去哪了?
笔记
LiuYaoheng4 小时前
【Android】View 的基础知识
android·java·笔记·学习
星梦清河4 小时前
宋红康 JVM 笔记 Day14|垃圾回收概述
jvm·笔记
Suckerbin5 小时前
Basic Pentesting: 1靶场渗透
笔记·安全·web安全·网络安全
草莓熊Lotso5 小时前
PyCharm 从入门到高效:安装教程 + 快捷键速查表
开发语言·ide·经验分享·笔记·其他
一位搞嵌入式的 genius5 小时前
ES6 核心特性详解:从变量声明到函数参数优化
前端·笔记·学习
序属秋秋秋5 小时前
《C++进阶之STL》【set/map 使用介绍】
开发语言·c++·笔记·leetcode·stl·set·map
肥肠可耐的西西公主6 小时前
后端(fastAPI)学习笔记(CLASS 1):扩展基础
笔记·学习·fastapi
程序员Xu14 小时前
【LeetCode热题100道笔记】二叉树的右视图
笔记·算法·leetcode