API · Pandas
Função Pandas Series.tolist()
O método Series.tolist() retorna os valores da Series em uma lista Python.
Nesta página
Series.tolist() retorna os valores de uma Series do pandas em uma lista Python. Chame-o sem argumentos: series.tolist(). Isso é útil ao passar valores para um código que espera uma lista comum ou ao inspecionar os valores sem a formatação de exibição da Series.
Converter uma Series em lista
Chame o método no objeto Series e guarde o valor retornado. A chamada não modifica a Series original:
values = series.tolist()
O método não recebe parâmetros. O resultado é uma list Python com os valores da Series na ordem em que aparecem. A lista retornada é um contêiner separado; portanto, alterá-la não altera a Series. Os valores seguem o comportamento normal do Python: no caso de objetos mutáveis, os dois contêineres ainda podem se referir aos mesmos objetos.
Entender a lista retornada
Uma Series tem mais estrutura do que uma lista. Os rótulos do índice e o dtype descrevem a Series, mas tolist() retorna apenas os valores. Os rótulos do índice não são incluídos como itens da lista, e uma lista Python não tem dtype do pandas. Se também precisar dos rótulos, use uma operação separada; se o código posterior depender do índice ou de comportamentos específicos do pandas, mantenha a Series.
O comprimento da lista corresponde ao número de valores da Series, inclusive os que representam dados ausentes. Os valores aparecem na ordem da Series. O pandas pode escolher um dtype ao criar a Series, então os valores numéricos talvez já tenham sido convertidos antes desta operação; tolist() reflete os valores presentes na Series, sem restaurar os tipos originais da entrada.
Converter Series numéricas e de strings
Execute este exemplo:
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
import pandas as pd
scores = pd.Series([88, 91, 76], index=["Mia", "Noah", "Ava"])
names = pd.Series(["Rose", "Jasmine", "Tulip"])
score_list = scores.tolist()
name_list = names.tolist()
print(score_list)
print(name_list)
print(isinstance(score_list, list))
print(score_list == [88, 91, 76])
[88, 91, 76]
['Rose', 'Jasmine', 'Tulip']
True
True
As duas chamadas usam o mesmo método sem argumentos. A Series numérica tem rótulos, mas a lista resultante contém apenas seus valores. A Series de strings produz uma lista de strings na ordem original.
Verificar o resultado em Python
Use isinstance(result, list) quando o código seguinte exigir uma lista e compare result com os valores esperados para conferir o conteúdo. O exemplo verifica os dois aspectos: o teste de tipo confirma o contêiner, enquanto a comparação de igualdade confirma os valores numéricos e sua ordem. Você pode fazer as mesmas verificações com name_list, por exemplo, comparando-a com ['Rose', 'Jasmine', 'Tulip'].
Se o resultado for diferente do esperado, inspecione a Series antes da conversão com print(series) e confira seu índice e dtype. Isso ajuda a distinguir valores que já foram alterados quando a Series foi criada de qualquer coisa que tenha ocorrido durante a conversão. Para uma conversão rápida, a chamada essencial continua sendo Series.tolist(); atribua o resultado a uma variável quando precisar validá-lo ou passá-lo para outra função.