Ho un grandissimo pyspark.sql.dataframe.DataFrame denominato df. Ho bisogno di un modo per enumerare i record, quindi, essere in grado di accedere al record con un certo indice. (O gruppo selezionato di record con indici varia)PySpark DataFrames - modo per enumerare senza convertire in Panda?
In panda, ho potuto fare solo
indexes=[2,3,6,7]
df[indexes]
qui voglio qualcosa di simile, (e senza convertire dataframe di panda)
Il più vicino posso arrivare a è:
enumerazione tutti gli oggetti nella dataframe originale:
indexes=np.arange(df.count()) df_indexed=df.withColumn('index', indexes)
- Ricerca di valori che ho bisogno di utilizzare la funzione in cui().
DOMANDE:
- Perché non funziona e come farlo funzionare? Come aggiungere una riga a un dataframe?
Funzionerebbe tardi per fare qualcosa di simile:
indexes=[2,3,6,7] df1.where("index in indexes").collect()
più veloce e più semplice modo per affrontarla?
Ciao @ zero323, ho provato lo snippet. Tutto funziona eccetto 'indexed.where (col (" index "). InSet (indexes))' che non funziona. Restituisce 'TypeError: 'Column' object is not callable' for me. Hai un aggiornamento sullo snippet se voglio interrogare più indici? – titipata