web-dev-qa-db-ja.com

Python / pysparkデータフレームの列の再配置

Python [/ pyspark]に列idtimecityZipなどのデータフレームがあります......

次に、このデータフレームに新しい列nameを追加しました。

ここで、name列がidの後にくるように列を配置する必要があります

私は以下のようにしました

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]

このエラーが発生しています

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

このエラーが発生する理由。どうすれば修正できますか。

21
User12345

selectを使用して、列の順序を変更できます。

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