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

Tengo un RDD y quiero convertirlo en un 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)  

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)