PGC123

2019-03-11   阅读量: 885

大数据 数据分析师 PySpark

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()))

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
6.0259 2 1 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子