📅  最后修改于: 2023-12-03 14:53:08.083000             🧑  作者: Mango
在 PySpark 中,数据框是一种很重要的数据结构。当你需要对数据框中的列的数据类型进行更改时,可能会遇到一些问题。本文将介绍如何使用 PySpark 更改数据框中列的数据类型。
使用 PySpark 创建数据框时,可以指定列的数据类型。但是,在读取数据时,数据类型可能会自动识别。为了更改数据框中列的数据类型,首先需要查看数据框中每个列的数据类型。
from pyspark.sql.functions import col
# 读取数据
df = spark.read.csv("data.csv", header=True)
# 查看列类型
df.dtypes
输出结果应该是一个元组列表,其中每个元组包含列名和数据类型。例如:
[('id', 'string'),
('name', 'string'),
('age', 'string'),
('gender', 'string')]
使用 PySpark 更改数据框中列的数据类型可以使用 withColumn
方法。这个方法可以用于添加新列、更改现有列等操作。在这种情况下,我们将使用 withColumn
方法更改数据框中的列类型。
# 更改列类型
df = df.withColumn("age", col("age").cast("integer"))
# 验证更改结果
df.dtypes
在这个例子中,我们通过 withColumn
方法将 “age” 列的数据类型更改为整数类型。要更改列类型,应该使用 cast
函数并指定要更改的目标类型。
最后,记得将更改后的数据框保存起来。你可以使用 write
方法将数据框保存到文件或数据源。
# 保存更改后的数据框
df.write.csv("new_data.csv", header=True)
本文介绍了如何使用 PySpark 更改数据框中列的数据类型。有了这种技能,你可以更轻松地处理数据,使得它更易于处理或分析。