spark read python pandas ipython pyspark rdd

read - ¿Cómo convertir Spark RDD a pandas dataframe en ipython?



pyspark read csv (2)

Tengo un RDD y quiero convertirlo en el dataframe pandas . Sé que para convertir y RDD a un dataframe normal podemos hacer

df = rdd1.toDF()

Pero quiero convertir el RDD a un dataframe pandas y no a un dataframe normal. ¿Cómo puedo hacerlo?


Puedes usar la función toPandas() :

Devuelve el contenido de este DataFrame como Pandas pandas.DataFrame.

Esto solo está disponible si Pandas está instalado y disponible.

>>> df.toPandas() age name 0 2 Alice 1 5 Bob


Tendrá que usar un Spark DataFrame como un paso intermedio entre su RDD y el Pandas DataFrame deseado.

Por ejemplo, digamos que tengo un archivo de texto, flights.csv , que se ha leído en un RDD:

flights = sc.textFile(''flights.csv'')

Puedes consultar el tipo:

type(flights) <class ''pyspark.rdd.RDD''>

Si solo usas toPandas() en el RDD, no funcionará. Dependiendo del formato de los objetos en su RDD, es posible que sea necesario algún procesamiento para ir a un Spark DataFrame primero. En el caso de este ejemplo, este código hace el trabajo:

# RDD to Spark DataFrame sparkDF = flights.map(lambda x: str(x)).map(lambda w: w.split('','')).toDF() #Spark DataFrame to Pandas DataFrame pdsDF = sparkDF.toPandas()

Puedes consultar el tipo:

type(pdsDF) <class ''pandas.core.frame.DataFrame''>