【发布时间】:2018-04-07 22:29:00
【问题描述】:
我在 pyspark 中有数据框。它的一些数字列包含nan,因此当我读取数据并检查数据框的架构时,这些列将具有string 类型。
如何将它们更改为 int 类型。我用 0 替换了 nan 值并再次检查了架构,但随后它也显示了这些列的字符串类型。我遵循以下代码:
data_df = sqlContext.read.format("csv").load('data.csv',header=True, inferSchema="true")
data_df.printSchema()
data_df = data_df.fillna(0)
data_df.printSchema()
这里的列 Plays 和 drafts 包含整数值,但由于这些列中存在 nan,它们被视为字符串类型。
【问题讨论】:
-
有什么方法可以在读取数据时仅替换 nan,以便在架构中将这些列视为 int 类型。
-
我相信,在您的情况下,您必须将整列设为整数。
标签: python dataframe apache-spark pyspark apache-spark-sql