Получите значения индекса строки Pandas DataFrame в качестве списка?

Вероятно, я использую плохие поисковые запросы, пытаясь найти этот ответ. Прямо сейчас, перед индексированием DataFrame, я получаю список значений в столбце таким образом...

 list = list(df['column']) 

... тогда я буду set_index в столбце. Это кажется пустым шагом. При попытке вышеперечисленного по индексу я получаю ключевую ошибку.

Как я могу захватить значения в индексе (как одно, так и несколько) и поместить их в список или список кортежей?

Ответ 1

Чтобы получить значения index как list/list of tuple для index/MultiIndex do:

df.index.values.tolist()  # an ndarray method, you probably shouldn't depend on this

или

list(df.index.values)  # this will always work in pandas

Ответ 2

Если вы только заставляете их вручную переходить в df.set_index(), это лишнее. Просто прямо сделайте df.set_index['your_col_name', drop=False], уже.

Очень редко в pandas вам нужно получить индекс в виде списка Python (если вы не делаете что-то довольно напуганное или передаете их обратно в NumPy), поэтому, если вы делаете это много, это запах кода, что вы делаете что-то неправильно.