TravisVOX
Probablemente estoy usando términos de búsqueda deficientes cuando trato de encontrar esta respuesta. En este momento, antes de indexar un DataFrame, obtengo una lista de valores en una columna de esta manera…
list = list(df['column'])
…entonces lo haré set_index
en la columna Esto parece un paso perdido. Al intentar lo anterior en un índice, aparece un error de clave.
¿Cómo puedo tomar los valores en un índice (tanto simple como múltiple) y ponerlos en una lista o una lista de tuplas?
Para obtener el index
valores como un list
/list
de tuple
es para Index
/MultiIndex
hacer:
df.index.values.tolist() # an ndarray method, you probably shouldn't depend on this
o
list(df.index.values) # this will always work in pandas
-
Obtengo TypeError: el objeto ‘lista’ no se puede llamar para usar
list(df.index.values)
– presagio
22 de enero de 2018 a las 11:36
-
@Bode, probablemente tengas otra variable llamada
list
en alcance.– Felipe Nube
22 de enero de 2018 a las 13:53
-
df.index.tolist()
es suficiente.– douardo
1 de septiembre de 2021 a las 7:56
smci
Si solo está haciendo que estos pasen manualmente a df.set_index()
eso es innecesario. Solo hazlo directamente df.set_index['your_col_name', drop=False]
ya.
Es muy raro en los pandas que necesites obtener un índice como una lista de Python (a menos que estés haciendo algo bastante original, o de lo contrario pasándolos de vuelta a NumPy), así que si estás haciendo esto mucho, es un olor a código que estas haciendo algo mal.
Por qué los quieres en lista??
–Andy Hayden
21 de agosto de 2013 a las 13:40
Si solo está haciendo que estos pasen manualmente a
df.set_index()
, eso es innecesario. Solo hazlo directamentedf.set_index['your_col_name', drop=False]
ya.– smci
17 de noviembre de 2016 a las 10:55
Como para por qué… Personalmente, necesito obtener los valores de índice de un marco de datos como una lista durante la depuración (Evaluar expresión en PyCharm) o verificar dos veces entre pasos cuando programo de forma interactiva (por ejemplo, en un cuaderno Jupyter) todo el tiempo.
– Atila Tanyi
20 mayo 2017 a las 13:31