PySpark dataframe我想将行为类型列中的str型数据pv,cart,fav,buy转换成int型1,2,3,4代码该怎么写
时间: 2023-05-23 17:02:37 浏览: 103
可以通过使用 PySpark dataframe 的 withColumn 函数和 when 函数来实现您的需求。代码如下:
from pyspark.sql.functions import when
df = df.withColumn("行为类型", when(df["行为类型"] == "pv", 1)
.when(df["行为类型"] == "cart", 2)
.when(df["行为类型"] == "fav", 3)
.when(df["行为类型"] == "buy", 4)
.otherwise(df["行为类型"]))
以上代码将行为类型列中的 str 类型的数据 "pv"、"cart"、"fav" 和 "buy" 转换成对应的 int 类型的数据 1、2、3 和 4。
相关问题
pyspark dataframe如何将一列str数据转换成int数据
您可以使用pyspark中的cast()函数将一列str数据转换成int数据。具体的代码示例如下所示:
from pyspark.sql.functions import col
df = df.withColumn("columnName", col("columnName").cast("int"))
其中,“columnName”是您想要进行类型转换的列名,df代表您的dataframe对象。在这个示例中,我们使用了withColumn()函数和col()函数来选择特定列,并使用cast()函数将该列从str类型转换成int类型。
相关推荐
















