Convertir PySpark DataFrame en Pandas DataFrame

En este artículo, aprenderás cómo convertir un PySpark DataFrame en un Pandas DataFrame. Un PySpark DataFrame es una estructura de datos distribuida que se utiliza en PySpark, mientras que un Pandas DataFrame es una estructura de datos de pandas que se utiliza en Python. Aunque PySpark es útil para procesar grandes conjuntos de datos distribuidos, Pandas es más popular para datos que caben en la memoria de una sola máquina.
PySpark DataFrame
Un PySpark DataFrame es una estructura de datos distribuida que se utiliza en PySpark. Es similar a un DataFrame en pandas, pero está diseñado específicamente para su uso en entornos distribuidos. Un PySpark DataFrame se puede crear a partir de una variedad de fuentes de datos, como archivos CSV, bases de datos, etc.
Un PySpark DataFrame se puede imprimir en la consola utilizando el método ```show()```. También se puede visualizar en una tabla utilizando el método ```toPandas()```y posteriormente convertir en Pandas DataFrame.
Convertir PySpark DataFrame en Pandas DataFrame
Para convertir un PySpark DataFrame en un Pandas DataFrame, simplemente llama al método ```toPandas()``` en el PySpark DataFrame. Este método devuelve un Pandas DataFrame que se puede manipular utilizando las herramientas de Pandas.
```python
import pandas as pd
pandas_dataframe = pyspark_dataframe.toPandas()
```
Ahora tienes un Pandas DataFrame de un PySpark DataFrame.
Ejemplos de uso
Aquí hay un ejemplo que muestra cómo se puede utilizar PySpark y Pandas juntos para leer un archivo CSV y hacer algunas manipulaciones de datos simples.
```python
from pyspark.sql import SparkSession
import pandas as pd
# 1. Crea SparkSession
spark = SparkSession.builder.appName("PandasExample").getOrCreate()
# 2. Lee archivo CSV
df = spark.read.csv("data.csv", header=True, inferSchema=True)
# 3. Convierte PySpark DataFrame en Pandas DataFrame
pandas_df = df.toPandas()
# 4. Filtra los datos en Pandas DataFrame
pandas_df_filtered = pandas_df[pandas_df['Score'] > 80]
# 5. Guarda el resultado en un archivo csv
pandas_df_filtered.to_csv("filtered_data.csv", index=False)
# 6. Cierra SparkSession
spark.stop()
```
Este es un ejemplo muy básico, pero muestra cómo se puede utilizar PySpark y Pandas juntos para procesar y manipular grandes conjuntos de datos distribuidos.
Conclusión
En este artículo hemos aprendido cómo convertir un PySpark DataFrame en un Pandas DataFrame. También vimos cómo se pueden utilizar PySpark y Pandas juntos para procesar y manipular grandes conjuntos de datos distribuidos. Ahora estás equipado con el conocimiento necesario para trabajar con ambos tipos de estructuras de datos y manipular grandes conjuntos de datos distribuidos.
Preguntas frecuentes
¿Qué es un PySpark DataFrame?
Un PySpark DataFrame es una estructura de datos distribuida que se utiliza en PySpark.
¿Qué es un Pandas DataFrame?
Un Pandas DataFrame es una estructura de datos de pandas que se utiliza en Python.
¿Cómo se puede convertir un PySpark DataFrame en un Pandas DataFrame?
Para convertir un PySpark DataFrame en un Pandas DataFrame, simplemente llama al método ```toPandas()``` en el PySpark DataFrame.
¿Es PySpark mejor que Pandas?
No necesariamente. PySpark es útil para procesar grandes conjuntos de datos distribuidos, mientras que Pandas es más popular para datos que caben en la memoria de una sola máquina.
Ejemplos de código
Aquí hay unos ejemplos de código para ilustrar la conversión de PySpark DataFrame en Pandas DataFrame:
```python
# Importar librería pandas
import pandas as pd
# Convertir PySpark DataFrame en Pandas DataFrame
pandas_dataframe = pyspark_dataframe.toPandas()
```
```python
# Leer archivo CSV en PySpark DataFrame
dataframe = spark.read.csv("data.csv", header=True, inferSchema=True)
# Convertir PySpark DataFrame en Pandas DataFrame
pandas_dataframe = dataframe.toPandas()
```
```python
# Crear PySpark DataFrame a partir de una lista de diccionarios
data = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}]
dataframe = spark.createDataFrame(data)
pandas_dataframe = dataframe.toPandas()
```
```python
# Crear PySpark DataFrame a partir de archivo csv y convertir a Pandas DataFrame
dataframe = spark.read.csv("data.csv", header=True, inferSchema=True)
pandas_dataframe = dataframe.toPandas()
```
```python
# Append Pandas DataFrame a una columna en PySpark DataFrame
dataframe = spark.createDataFrame([(1, "A"), (2, "B"), (3, "C")], ["id", "value"])
pandas_dataframe = pd.DataFrame([(4, "D"), (5, "E")], columns=["id", "value"])
combined_dataframe = dataframe.withColumn("pandas_data", lit(pandas_dataframe.to_json()))
```
[nekopost slugs="iterar-las-columnas-de-las-filas-pyspark-dataframe,pyspark-explode-explode-outer,concatenado-columnas-pyspark-dataframe,funcion-de-ventana-numero-de-fila-de-pyspark,pyspark-collect-list-collect-set,pyspark-medio,pyspark-contiene,avg-pyspark,metodo-de-subcadena-de-pyspark"]

Deja una respuesta