it-swarm.dev

Seleziona colonne in Pyspark Dataframe

Sto cercando un modo per selezionare le colonne del mio dataframe in pyspark. Per la prima riga, so che posso usare df.first() ma non sono sicuro delle colonne dato che fanno non hanno nomi di colonne.

Ho 5 colonne e voglio passare in rassegna ciascuna di esse.

+--+---+---+---+---+---+---+
|_1| _2| _3| _4| _5| _6| _7|
+--+---+---+---+---+---+---+
|1 |0.0|0.0|0.0|1.0|0.0|0.0|
|2 |1.0|0.0|0.0|0.0|0.0|0.0|
|3 |0.0|0.0|1.0|0.0|0.0|0.0|
9
Nivi

Prova qualcosa del genere:

df.select([c for c in df.columns if c in ['_2','_4','_5']]).show()
20
MaxU

Prime due colonne e 5 righe

 df.select(df.columns[:2]).take(5)
11
Michael West

Utilizza df.schema.names

spark.version
# u'2.2.0'

df = spark.createDataFrame([("foo", 1), ("bar", 2)])
df.show()
# +---+---+ 
# | _1| _2|
# +---+---+
# |foo|  1| 
# |bar|  2|
# +---+---+

df.schema.names
# ['_1', '_2']

for i in df.schema.names:
  # df_new = df.withColumn(i, [do-something])
  print i
# _1
# _2
3
desertnaut

Prima di tutto, lo schema è creato per errore durante l'importazione da MySQL o altro database . Puoi usare il cursore del dizionario per modificarlo 

cursor = conn.cursor(MySQLdb.cursors.DictCursor)
1
Shekhar Koirala