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.