Tengo un documento de Excel que se ve así ...
cluster load_date budget actual fixed_price
A 1/1/2014 1000 4000 Y
A 2/1/2014 12000 10000 Y
A 3/1/2014 36000 2000 Y
B 4/1/2014 15000 10000 N
B 4/1/2014 12000 11500 N
B 4/1/2014 90000 11000 N
C 7/1/2014 22000 18000 N
C 8/1/2014 30000 28960 N
C 9/1/2014 53000 51200 N
Quiero poder devolver el contenido de la columna 1: clúster como una lista, para poder ejecutar un bucle for sobre él y crear una hoja de cálculo de Excel para cada clúster.
¿También es posible devolver el contenido de una fila completa a una lista? p.ej
list = [], list[column1] or list[df.ix(row1)]

.tolist()para convertirlas en una lista de Python.valuesNO SERÁ el método preferido para acceder a las matrices numpy subyacentes. Mira esta respuesta .df.to_numpy().tolist()debería estar bien para la mayoría de los casos de uso.list(x)Respuestas:
Las columnas Pandas DataFrame son series Pandas cuando las extrae, a las que puede llamar
x.tolist()para convertirlas en una lista de Python. Alternativamente lo lanzas conlist(x).Salida:
fuente
Esto devuelve una matriz numpy:
Esto devuelve una matriz numpy de valores únicos :
También puede usar numpy para obtener los valores únicos, aunque existen diferencias entre los dos métodos:
fuente
Conversión de ejemplo:
Numpy Array -> Panda Data Frame -> Lista de una columna Panda
Numpy Array
Convierta una matriz numpy en el marco de datos Panda
Convierte un Panda Frame a la lista
pdToList = list(dataPd['2'])fuente
df = pd.DataFrame(data=[[10, 20, 30], [20, 30, 60], [30, 60, 90]])más sencillo? Además, tenga en cuenta el nombre de la variable y el espacio en blanco que siguen las convenciones de estilo Python. Iterar sobre la lista como prueba ¿Qué prueba eso exactamente? ¿Que es una lista?Como esta pregunta atrajo mucha atención y hay varias formas de cumplir con su tarea, permítame presentarle varias opciones.
Esos son todos una línea por cierto;)
Empezando con:
Resumen de operaciones potenciales:
código:
como se señala en cs95 , se deben preferir otros métodos sobre el
.valuesatributo pandas de la versión 0.24 de pandas en ver aquí . Lo uso aquí, porque la mayoría de las personas (para 2019) todavía tendrán una versión anterior, que no admite las nuevas recomendaciones. Puedes consultar tu versión conprint(pd.__version__)fuente
Si su columna solo tendrá un valor, algo así
pd.series.tolist()producirá un error. Para garantizar que funcionará en todos los casos, use el siguiente código:fuente
Suponiendo que el nombre del marco de datos después de leer la hoja de Excel es
df, tome una lista vacía (por ejemplodataList), repita el marco de datos fila por fila y agregue a su lista vacía como-O,
No, si imprime el
dataList, obtendrá cada fila como una lista en eldataList.fuente
lower_case_with_underscoresestilo. ¿Qué ventaja tiene esta solución sobre las existentes, exactamente? Además, realmente desaliento el uso del acceso de estilo de atributo en Series y DataFrames.fuente