J'ai une liste dynamique qui est créée en fonction de la valeur de n.
n = 3
drop_lst = ['a' + str(i) for i in range(n)]
df.drop(drop_lst)
Mais ce qui précède ne fonctionne pas.
Remarque:
Mon cas d'utilisation nécessite une liste dynamique.
Si je fais juste ci-dessous sans liste ça marche
df.drop('a0','a1','a2')
Comment faire fonctionner la fonction drop avec list?
Spark 2.2 ne semble pas avoir cette capacité. Existe-t-il un moyen de le faire fonctionner sans utiliser select()
?
Vous pouvez utiliser l'opérateur *
Pour passer le contenu de votre liste en arguments à drop()
:
df.drop(*drop_lst)
Vous pouvez donner le nom de la colonne sous forme de liste séparée par des virgules, par exemple.
df.drop("col1","col11","col21")
Voici comment supprimer le nombre spécifié de colonnes consécutives dans scala:
val ll = dfwide.schema.names.slice(1,5)
dfwide.drop(ll:_*).show
slice prend deux paramètres: star index et end index.