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()))
三个资料Q群下载不了也转发不了,先放这里Fine_tuning.zipLangChain.zipdata_clear.rar