Função tolist() do PySpark feita facilmente: um guia abrangente
Published on
Como cientista de dados, você provavelmente está familiarizado com PySpark, uma poderosa ferramenta para processamento e análise de big data. PySpark é uma biblioteca Python para o Apache Spark, um mecanismo analítico unificado para o processamento de big data. No PySpark, DataFrames são uma estrutura de dados importante usada para o processamento de dados. Uma tarefa comum no processamento de dados é converter PySpark DataFrames em listas Python. Neste guia, explicaremos como usar a função tolist() do PySpark para realizar essa tarefa.
Quer criar rapidamente visualizações de dados a partir do dataframe do Python Pandas sem código?
PyGWalker é uma biblioteca Python para análise exploratória de dados com visualização. PyGWalker (opens in a new tab) pode simplificar seu fluxo de trabalho de análise e visualização de dados do notebook Jupyter, transformando seu dataframe pandas (e dataframe polars) em uma interface de usuário estilo Tableau para exploração visual.
O que é a função tolist() do PySpark?
A função tolist() é uma função SQL do PySpark usada para converter um DataFrame em uma lista Python. A função não recebe argumentos e retorna uma lista de linhas no DataFrame. Cada linha no DataFrame é representada como uma lista de valores.
Como usar a função tolist() do PySpark?
O uso da função tolist() no PySpark é simples. Aqui está a sintaxe básica:
df.toPandas().values.tolist()No código acima, estamos usando a função toPandas() do PySpark para converter o DataFrame em um DataFrame Pandas. Em seguida, estamos usando a função values.tolist() do Pandas para converter o DataFrame Pandas em uma lista Python.
Vamos dar uma olhada mais de perto em como usar a função tolist() do PySpark com exemplos.
Exemplo 1: Convertendo um PySpark DataFrame em uma lista Python
Digamos que tenhamos o seguinte DataFrame PySpark:```python from pyspark.sql import SparkSession
criar SparkSession
spark = SparkSession.builder.appName('PySparkTutorial').getOrCreate()
criar DataFrame
data = [('Alice', 1), ('Bob', 2), ('Charlie', 3), ('David', 4)] df = spark.createDataFrame(data, ['Nome', 'Idade'])
mostrar DataFrame
df.show()
Saída:+-------+-----+ | Nome|Idade| +-------+-----+ | Alice| 1| | Bob| 2| |Charlie| 3| | David| 4| +-------+-----+
Para converter esse DataFrame em uma lista Python, podemos usar a função tolist() da seguinte maneira:
```python
df.toPandas().values.tolist()Saída:
[['Alice', 1], ['Bob', 2], ['Charlie', 3], ['David', 4]]Exemplo 2: Convertendo um DataFrame PySpark com índice em uma lista Python
Em alguns casos, você pode querer incluir o índice do DataFrame na lista Python. Aqui está um exemplo que irá mostrar como fazer isso:
from pyspark.sql.functions import row_number
from pyspark.sql.window import Window
 
# criar DataFrame com índice
df_index = df.withColumn("índice", row_number().over(Window.orderBy("Nome")))
 
# mostrar DataFrame com índice
df_index.show()Saída:
+-------+-----+------+
|   Nome|Idade|índice|
+-------+-----+------+
|  Alice|    1|     1|
|    Bob|    2|     2|
|Charlie|    3|     3|
|  David|    4|     4|
+-------+-----+------+Para converter este DataFrame em uma lista Python que inclui o índice, podemos usar a função to_dict() do Pandas e depois converter o dicionário resultante em uma lista:
df_index.toPandas().to_dict('records')Saída:
[{'Nome': 'Alice', 'Idade': 1, 'índice': 1},
 {'Nome': 'Bob', 'Idade': 2, 'índice': 2},
 {'Nome': 'Charlie', 'Idade': 3, 'índice': 3},
 {'Nome': 'David', 'Idade': 4, 'índice': 4}]Conclusão
Neste guia, aprendemos como usar a função PySpark tolist() para converter PySpark DataFrames em Listas Python. Também mostramos exemplos de como usar essa função com e sem índices do DataFrame. Esperamos que este guia tenha sido útil em suas tarefas de processamento de dados e encorajamos você a explorar outras funções PySpark para aprimorar ainda mais suas habilidades.
Referências
- Pyspark To List() function (opens in a new tab)
 - Pyspark: How to convert a Dataframe to List (opens in a new tab)
 - PySpark DataFrame to Pandas DataFrame (opens in a new tab)
 
Perguntas Frequentes
- 
Como converter um DataFrame em uma lista?
Para converter um DataFrame em uma lista no Python, você pode usar o método
values.tolist(). Esse método retornará uma lista aninhada, em que cada lista interna representa uma linha do DataFrame. A lista resultante pode ser usada para processamento ou análise adicional. - 
Como converter uma coluna específica em uma lista no DataFrame?
Sim, é possível converter uma coluna específica em uma lista no DataFrame. Acesse a coluna usando o operador de indexação
[]com o nome da coluna e, em seguida, aplique o métodotolist(). Isso retornará uma lista contendo os valores da coluna selecionada. - 
Como converter várias colunas em uma lista no DataFrame?
Sim, é possível converter várias colunas em uma lista no DataFrame. Acesse as colunas usando o operador de indexação
[]com os nomes das colunas desejadas e, em seguida, aplique o métodovalues.tolist(). Isso retornará uma lista aninhada contendo os valores das colunas selecionadas. 
