Python Pyspark为除一列之外的所有数据帧供电
我有一个数据框,看起来像这样:Python Pyspark为除一列之外的所有数据帧供电,python,apache-spark,dataframe,pyspark,Python,Apache Spark,Dataframe,Pyspark,我有一个数据框,看起来像这样: Id a1 a2 a3 +--+---+---+---+ 1 |5 |45 |4 2 |2 |12 |79 3 |7 |8 |56 我想创建新的dataframe,它将按值m为所有列提供动力,id列除外。这就是我到目前为止所做的: dfCluster = U.select(* ( ( pow(col(c),m )).alias(c) for c in U.columns)) 但此代码为所有列提供了权限,包括“Id”列。我也尝试过
Id a1 a2 a3
+--+---+---+---+
1 |5 |45 |4
2 |2 |12 |79
3 |7 |8 |56
我想创建新的dataframe,它将按值m为所有列提供动力,id列除外。这就是我到目前为止所做的:
dfCluster = U.select(* ( ( pow(col(c),m )).alias(c) for c in U.columns))
但此代码为所有列提供了权限,包括“Id”列。我也尝试过这个代码:
dfCluster = U.select(* ( ( pow(col(c),m )).alias(c) for c in U.columns if c not in 'ColumnIndex'))
但是在新的数据帧中,我根本没有得到“Id”列,但我需要它。如何为除“Id”列之外的所有表加电?只需使用一个简单的生成器表达式,将
Id
放在外部:
U.select('Id', *(pow(U[col], m).alias(col) for col in U.columns if col != 'Id'))