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''>