从python字典中创建一个pyspark数据帧,其中一列为np.ndarray

从python字典中创建一个pyspark数据帧,其中一列为np.ndarray,python,numpy,dataframe,apache-spark,pyspark,Python,Numpy,Dataframe,Apache Spark,Pyspark,我想从python字典中创建一个pyspark数据框架,其中一列为np.narray e、 g 将numpy导入为np d={1:np.random.uniform(-1,1,2),20:np.random.uniform(-1,1,2)} df=spark.createDataFrame(d.items(),['id','val'])。cache()#错误:类型错误:不支持类型: 显示(df) 我还尝试将ndarray转换为list,但仍然不起作用 如何使用这种数组创建数据帧 谢谢Spark

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

e、 g

将numpy导入为np
d={1:np.random.uniform(-1,1,2),20:np.random.uniform(-1,1,2)}
df=spark.createDataFrame(d.items(),['id','val'])。cache()#错误:类型错误:不支持类型:
显示(df)
我还尝试将ndarray转换为list,但仍然不起作用

如何使用这种数组创建数据帧


谢谢

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)]
    }
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)]
    }