在pyspark中转换类别类型的数据框列

BC *_*ith 7 types pandas apache-spark apache-spark-sql pyspark

我有一个数据框 df ,我想将一些列转换为类别类型。使用 pandas 我可以这样做:

    for col in categorical_collist:
        df[col] = df[col].astype('category')
Run Code Online (Sandbox Code Playgroud)

我想在 pyspark 中进行列转换。我该怎么做?

我尝试在 pyspark 中使用以下代码。但它在操作过程中没有给出我的预期输出。

from pyspark.sql.types import StringType
for col in categorical_collist:
    df = df.withColumn(col, df[col].cast(StringType()))
Run Code Online (Sandbox Code Playgroud)

kar*_*ran 0

有几种数据类型仅由 pandas 提供,但 Spark 不支持。

Spark 上的 pandas API 目前不支持以下几种 pandas 特定数据类型,但计划支持:

  • 时间增量
  • pd.分类
  • pd.CategoricalDtype

所以,答案是否定的,你不能在 pyspark 中的类别类型中数据框架列。

参考号