API · Pandas

Función Pandas Series.tolist()

El método `Series.tolist()` devuelve los valores de una Series en una lista de Python.

En esta página

Series.tolist() devuelve los valores de una Series de pandas en una lista de Python. Llámalo sin argumentos: series.tolist(). Es útil para pasar los valores a código que espera una lista convencional o para inspeccionarlos sin el formato de visualización de la Series.

Convertir una Series en una lista

Llama al método desde el objeto Series y conserva el valor que devuelve. La llamada no modifica la Series original:

values = series.tolist()

El método no recibe parámetros. El resultado es una list de Python que contiene los valores de la Series en el orden que ya tienen. La lista devuelta es un contenedor independiente, así que modificarla no modifica la Series. Los valores mantienen su comportamiento habitual en Python; si son objetos mutables, ambos contenedores aún pueden hacer referencia a los mismos objetos.

Entender la lista devuelta

Una Series tiene más estructura que una lista. Sus etiquetas de índice y su dtype describen la Series, pero tolist() devuelve solo los valores. No incluye las etiquetas de índice como elementos de la lista, y una lista de Python no tiene dtype de pandas. Si también necesitas las etiquetas, usa otra operación; si el código posterior depende del índice o de funciones específicas de pandas, conserva la Series.

La longitud de la lista coincide con el número de valores de la Series, incluidos los que representan datos ausentes. Los valores aparecen en el orden de la Series. Pandas puede elegir un dtype al crearla, por lo que los valores numéricos quizá ya se hayan convertido antes de la operación; tolist() refleja los valores que contiene esa Series y no restaura los tipos de los datos de entrada originales.

Convertir Series numéricas y de cadenas

Ejecuta este ejemplo:

El código y las etiquetas o salidas visibles de esta sección se mantienen en 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

Ambas llamadas usan el mismo método sin argumentos. La Series numérica tiene etiquetas, pero la lista convertida contiene únicamente sus valores. La Series de cadenas produce una lista de cadenas en su orden original.

Comprobar el resultado en Python

Usa isinstance(result, list) si el código posterior requiere una lista, y compara result con los valores esperados para comprobar el contenido. El ejemplo hace ambas comprobaciones: la de tipo confirma el contenedor y la de igualdad confirma los valores numéricos y su orden. Puedes aplicar las mismas comprobaciones a name_list, por ejemplo, comparándola con ['Rose', 'Jasmine', 'Tulip'].

Si el resultado no es el esperado, inspecciona la Series antes de convertirla con print(series) y comprueba su índice y su dtype. Así podrás distinguir los valores que cambiaron al crear la Series de cualquier cambio ocurrido durante la conversión. Para una conversión rápida, la llamada esencial sigue siendo Series.tolist(); guarda el resultado si necesitas validarlo o pasarlo a otra función.