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())