Yes, you can reorder the dataframe elements.
You need to extract the column names and reorder them.
val columns: Array[String] = dataFrame.columns
val reorderedColumnNames: Array[String] = //reordering
val result: DataFrame = dataFrame.select(reorderedColumnNames.head, reorderedColumnNames.tail: _*)