У меня есть датафрейм, который выглядит следующим образом. Мое поле Date
имеет тип dtype datetime64[ns]
:
symbol high low
Date
2018-08-16 spy 285.040009 283.359985
2018-08-17 spy 285.559998 283.369995
2018-08-16 nflx 331.170013 321.209991
2018-08-17 nflx 324.369995 312.959991
2017-07-17 spy 245.910004 245.330002
2017-07-18 spy 245.720001 244.669998
Моя цель - сначала установить индекс на symbol
, а затем на Date
, как показано ниже:
high low
symbol Date
spy 2017-07-17 245.910004 245.330002
2017-07-18 245.720001 244.669998
2018-08-16 285.040009 283.359985
2018-08-17 285.559998 283.369995
nflx 2018-08-16 331.170013 321.209991
2018-08-17 324.369995 312.959991
Вот моя попытка:
После сброса индекса даты, результат выглядит следующим образом:
df.reset_index(level=['Date'], inplace=True)
Date symbol high low
0 2018-08-16 spy 285.040009 283.359985
1 2018-08-17 spy 285.559998 283.369995
2 2018-08-16 nflx 331.170013 321.209991
3 2018-08-17 nflx 324.369995 312.959991
4 2017-07-17 spy 245.910004 245.330002
5 2017-07-18 spy 245.720001 244.669998
И, наконец, установка индекса для символа и даты, которая возвращает нежелательный вывод:
df.set_index(['symbol', 'Date'], inplace=True)
high low
symbol Date
spy 2018-08-16 285.040009 283.359985
2018-08-17 285.559998 283.369995
nflx 2018-08-16 331.170013 321.209991
2018-08-17 324.369995 312.959991
spy 2017-07-17 245.910004 245.330002
2017-07-18 245.720001 244.669998