Вместо использования перечисления, как опубликовал @StephenRauch, вы также можете использовать метод pandas.Index, get_loc
:
{i:df.columns.get_loc(i) for i in df.columns}
Использование настроек Стивена:
import pandas as pd
df = pd.DataFrame({'date': ['2015-01-01', '2015-01-02', '2015-01-03'],
'value': ['a', 'b', 'c'],
'num': [1, 2, 3]
})
print(df)
print({i:df.columns.get_loc(i) for i in df.columns})
Вывод:
date value num
0 2015-01-01 a 1
1 2015-01-02 b 2
2 2015-01-03 c 3
{'date': 0, 'value': 1, 'num': 2}