Вы не привели пример того, как выглядит ваш источник данных, поэтому я делаю вывод.
Если вы используете pd.read_excel
с header=None
, первые две строки будут обрабатываться как данные, и вы сможете манипулировать ими для достижения своей цели. Вот минимальный пример, с примером «реальной» строки данных ниже:
df = pd.DataFrame([['Mon', 'Tues'], ['10-02-1995', '11-23-1997'],
[12, 32]])
# 0 1
#0 Mon Tues
#1 10-02-1995 11-23-1997
#2 12 32
Затем преобразуйте первую строку в дату и время, как вы сказали в своем вопросе.
df.loc[1] = pd.to_datetime(df.loc[1])
Создать мультииндекс из первых двух строк и установить его в качестве столбцов кадра данных
df.columns = df.T.set_index([0,1]).index.set_names(['DOW', 'Date'])
Наконец, выберите из второй строки вниз, так как первые две строки теперь находятся в столбцах.
df = df.loc[2:].reset_index()
df
#DOW Mon Tues
#Date 812592000000000000 880243200000000000
#0 12 32
Обратите внимание, что DOW и Date теперь являются многоуровневым индексом для столбцов, а строки 'data' были переиндексированы, чтобы начать с 0.
Пожалуйста, дайте мне знать, если я неправильно понял ваш вопрос.