【发布时间】:2016-07-13 00:45:34
【问题描述】:
考虑以下数据框:
------------+--------------------+
|id| values
+------------+--------------------+
| 39|a,a,b,b,c,c,c,c,d
| 520|a,b,c
| 832|a,a
我想把它转换成如下DataFrame:
------------+--------------------+
|id| values
+------------+--------------------+
| 39|{"a":2, "b": 2,"c": 4,"d": 1}
| 520|{"a": 1,"b": 1,"c": 1}
| 832|{"a": 2}
我尝试了两种方法:
将数据帧转换为 rdd。然后我将值列映射到频率计数器函数。但是我在将 rdd 转换回数据帧时出错
使用 udf 基本上做与上述相同的事情。
我想要一个字典列的原因是在我的一个 python 应用程序中将它作为 json 加载。
【问题讨论】:
标签: python pyspark spark-dataframe