如果我从CSV读取数据,则默认情况下,所有列均为“字符串”类型。通常,我使用以下功能检查数据,这些功能概述了数据及其类型
但是,如果有我认为属于特定类型的列,例如加倍,如果我不具备业务知识,并且因为
,我不确定所有值是否都是加倍的1-我看不到所有值(数百万个唯一值) 2-如果我明确将其转换为double类型,spark会悄悄地转换类型而不会引发任何异常,并且非double的值将转换为“ null”-例如
from pyspark.sql.types import DoubleType.
changedTypedf = df_original.withColumn('label', df_control_trip['id'].cast(DoubleType()))
然后确认列类型的最佳方法是什么?
答案 0 :(得分:0)
在Scala数据框中,字段“ schema”在Python中是相同的:
df.schema.fields.find( _.name=="label").get.dataType