说我有数据框
product_id customers
1 [1,2,4]
2 [1,2]
我想通过在nb_customer
列上应用函数len
来创建新列,说customers
。
我试过
df = df.select('*', (map(len, df.customers)).alias('nb_customer'))
但它不起作用。
这样做的正确方法是什么?
由于
答案 0 :(得分:2)
希望这有帮助!
import pyspark.sql.functions as f
df = sc.parallelize([
[1,[1,2,4]],
[2,[1,2]]
]).toDF(('product_id', 'customers'))
df.withColumn('nb_customer',f.size(df.customers)).show()