web-dev-qa-db-fra.com

Python / pyspark dataframe réorganiser les colonnes

J'ai un bloc de données en python/pyspark avec les colonnes idtimecityZip et ainsi de suite ......

Maintenant, j'ai ajouté une nouvelle colonne name à ce bloc de données.

Maintenant, je dois organiser les colonnes de telle sorte que la colonne name vient après id

J'ai fait comme ci-dessous

change_cols = ['id', 'name']

cols = ([col for col in change_cols if col in df] 
        + [col for col in df if col not in change_cols])

df = df[cols]

Je reçois cette erreur

pyspark.sql.utils.AnalysisException: u"Reference 'id' is ambiguous, could be: id#609, id#1224.;"

Pourquoi cette erreur se produit-elle? Comment puis-je rectifier cela.

21
User12345

Vous pouvez utiliser select pour modifier l'ordre des colonnes:

df.select("id","name","time","city")
36
Jaco