Python Pandas - индекс столбца Date to Column

У меня есть таблица данных, импортированных из файла CSV в DataFrame.

Данные содержат около 10 категориальных полей, 1-месячный столбец (в формате даты), а остальные - серии данных.

Как преобразовать столбец даты в индекс по оси столбца?

Ответы

Ответ 1

Вы можете использовать set_index:

df.set_index('month')

Например:

In [1]: df = pd.DataFrame([[1, datetime(2011,1,1)], [2, datetime(2011,1,2)]], columns=['a', 'b'])

In [2]: df
Out[2]: 
   a                   b
0  1 2011-01-01 00:00:00
1  2 2011-01-02 00:00:00

In [3]: df.set_index('b')
Out[3]: 
            a
b            
2011-01-01  1
2011-01-02  2

Ответ 2

У меня была аналогичная проблема, которую я только что решил с помощью reset_index. Но вы можете использовать либо set_index, либо reset_index:

ind_df=df.set_index(['A', 'B'])

df.reset_index(level=0, inplace=True)

Ответ 3

Если вы не знаете имя столбца даты раньше времени и вам нужно автоматически установить индекс на основе столбца временных рядов в данных

df.set_index((df.select_dtypes(include=[np.datetime64]).columns).tolist())