Получите значения индекса строки 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), поэтому, если вы делаете это много, это запах кода, что вы делаете что-то неправильно.