更改 PySpark 数据框中列的数据类型

Aru*_*u P 6 apache-spark pyspark spark-dataframe

我有一个输入数据帧(ip_df),该数据帧中的数据如下所示:

id            col_value
1               10
2               11
3               12
Run Code Online (Sandbox Code Playgroud)

id 和 col_value 的数据类型为String

我需要获取另一个数据帧(output_df),将 id 数据类型设为字符串,将 col_value 列设为小数**(15,4)**。没有数据转换,只有数据类型转换。我可以使用 PySpark 使用它吗?任何帮助将不胜感激

acl*_*kay 9

尝试使用强制转换方法:

from pyspark.sql.types import DecimalType
<your code>
output_df = ip_df.withColumn("col_value",ip_df["col_value"].cast(DecimalType()))
Run Code Online (Sandbox Code Playgroud)


nee*_*ani 5

尝试下面的语句。

output_df = ip_df.withColumn("col_value",ip_df["col_value"].cast('float'))
Run Code Online (Sandbox Code Playgroud)