📌  相关文章
📜  如何更改 PySpark 数据框中的列类型?(1)

📅  最后修改于: 2023-12-03 14:53:08.083000             🧑  作者: Mango

如何更改 PySpark 数据框中的列类型?

在 PySpark 中,数据框是一种很重要的数据结构。当你需要对数据框中的列的数据类型进行更改时,可能会遇到一些问题。本文将介绍如何使用 PySpark 更改数据框中列的数据类型。

1. 查看数据框中的列类型

使用 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')]
2. 更改数据框中列的数据类型

使用 PySpark 更改数据框中列的数据类型可以使用 withColumn 方法。这个方法可以用于添加新列、更改现有列等操作。在这种情况下,我们将使用 withColumn 方法更改数据框中的列类型。

# 更改列类型
df = df.withColumn("age", col("age").cast("integer"))

# 验证更改结果
df.dtypes

在这个例子中,我们通过 withColumn 方法将 “age” 列的数据类型更改为整数类型。要更改列类型,应该使用 cast 函数并指定要更改的目标类型。

3. 保存更改后的数据框

最后,记得将更改后的数据框保存起来。你可以使用 write 方法将数据框保存到文件或数据源。

# 保存更改后的数据框
df.write.csv("new_data.csv", header=True)
总结

本文介绍了如何使用 PySpark 更改数据框中列的数据类型。有了这种技能,你可以更轻松地处理数据,使得它更易于处理或分析。