【问题标题】:create a pyspark dataframe from a python dictionary with one column as np.ndarray从 python 字典创建一个 pyspark 数据框,其中一列为 np.ndarray
【发布时间】:2020-11-09 16:05:34
【问题描述】:

我想从 python 字典创建一个 pyspark 数据框,其中一列为 np.narray。

例如

import numpy as np
d = {1: np.random.uniform(-1, 1, 2), 20: np.random.uniform(-1, 1, 2)}
df = spark.createDataFrame(d.items(), ['id', 'val']).cache() # error: TypeError: not supported type: <class 'numpy.ndarray'>
display(df)

我也尝试将 ndarray 转换为列表,但它仍然不起作用。

如何用这种数组创建数据框?

谢谢

【问题讨论】:

    标签: python numpy dataframe apache-spark pyspark


    【解决方案1】:

    Spark 无法推断 np.float64 对象的数据类型。您需要将它们转换为 Python 浮点数:

    d = {1: [float(i) for i in np.random.uniform(-1, 1, 2)],
         20: [float(i) for i in np.random.uniform(-1, 1, 2)]
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-22
      • 2021-11-11
      • 1970-01-01
      相关资源
      最近更新 更多