title: Pyspark Dataframe select all columns with alias on few columns
body: <p>I have a dataframe which has a lot of columns (more than 50 columns) and want to select all the columns as they are with few column names renamed by maintaining the below order. I tried the following ,</p>
  
  <pre><code>cols = list(set(df.columns) - {'id','starttime','endtime'})
  df.select(col("id").alias("eventid"),col("starttime").alias("eventstarttime"),col("endtime").alias("eventendtime"),*cols,lit(proceessing_time).alias("processingtime"))
  </code></pre>
  
  <p>and got the error ,
  <code>SyntaxError: only named arguments may follow *expression</code></p>
  
  <p>Also, instead of *cols, i tried to pass a list of column type </p>
  
  <pre><code>df.select(col("id").alias("eventid"),col("starttime").alias("eventstarttime"),col("endtime").alias("eventendtime"),([col(x) for x in cols]),lit(proceessing_time).alias("processingtime"))
  </code></pre>
  
  <p>which gives the following error,</p>
  
  <pre><code>`TypeError: 'Column' object is not callable`
  </code></pre>
  
  <p>Any help is highly appreciated. </p>