如何使用pySpark将数据类型从String更改为integer?

sz81bmfz  于 2022-11-01  发布在  Spark
关注(0)|答案(1)|浏览(385)

我尝试将csv文件的一个 string 列(yr_built)转换为Integer数据类型(yr_builtInt)。我尝试使用“cast()”方法。但我仍然收到一个错误:
%python代码使用pyspark
从pyspark.sql.types导入整数类型
从pyspark.sql函数导入列
house 5 =house4.withColumn(“yr_builtInt”,col(“yr_built”).转换(整数类型))

下面是我得到的输出错误

类型错误:意外类型:

TypeError追踪(最近的呼叫在最后)于

1 house 5 =house4.withColumn(“yr_builtInt”,col(“yr_built”).cast(整数类型))
数据column.py转换(self,dataType)中的/数据块类型

788             jc = self._jc.cast(jdt)
789         else:

--〉790引发TypeError(“意外的类型:%s”%类型(数据类型))

791         return Column(jc)
792

TypeError:意外的类型:〈类'pyspark.sql.类型.数据类型单例'〉

6qfn3psc

6qfn3psc1#

您可以使用下列任一方法:
方法1:

house5=house4.withColumn("yr_builtInt", col("yr_built").cast(IntegerType()))

方法二:

house5=house4.withColumn("yr_builtInt", col("yr_built").cast("int"))

请检查下面的示例代码:

相关问题