热线电话:13121318867

登录
2019-03-11 阅读量: 1149
pyspark如何将DF的数据类型进行转化

pyspark如何将DF的字符串数据类型转化为int类型?

我在pyspark中有dataframe。它的一些数字列包含'nan',因此当我读取数据并检查数据帧的模式时,这些列将具有“字符串”类型。如何将它们更改为int类型。我将'nan'值替换为0并再次检查模式,但是它也显示了这些列的字符串类型。以下代码:

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,它们被视为字符串类型。

答:

可以每列都执行如下代码

from pyspark.sql.types import IntegerType
data_df = data_df.withColumn("Plays", data_df["Plays"].cast(IntegerType()))
data_df = data_df.withColumn("drafts", data_df["drafts"].cast(IntegerType()))

6.0259
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子