通过在PySpark中的现有列中应用函数来创建新列?
假设我有一个数据帧通过在PySpark中的现有列中应用函数来创建新列?,pyspark,Pyspark,假设我有一个数据帧 product_id customers 1 [1,2,4] 2 [1,2] 我想创建一个新的列,比如nb\u customer,方法是在customers列上应用函数len 我试过了 df=df.select('*',(map(len,df.customers)).alias('nb_customer')) 但它不起作用 正确的方法是什么 谢谢希望这有帮助 import pyspark.sql.functions as f df = sc.parallelize([
product_id customers
1 [1,2,4]
2 [1,2]
我想创建一个新的列,比如nb\u customer
,方法是在customers
列上应用函数len
我试过了
df=df.select('*',(map(len,df.customers)).alias('nb_customer'))
但它不起作用
正确的方法是什么
谢谢希望这有帮助
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()