El primer método es aquel en el que creamos el multi-índice indicando cada una de las columnas que lo van a formar. Por ejemplo:
index = pd.MultiIndex.from_arrays(
[
[2018, 2018, 2018, 2019, 2019, 2019],
["Spain", "Portugal", "France", "Spain", "Portugal", "France"]
],
names = ["Year", "Country"]
)
index
MultiIndex([(2018, 'Spain'),
(2018, 'Portugal'),
(2018, 'France'),
(2019, 'Spain'),
(2019, 'Portugal'),
(2019, 'France')],
names=['Year', 'Country'])
Como vemos, el parámetro names nos permite especificar los nombres de los niveles del índice jerárquico.
Si llevamos este multi-índice a un dataframe obtenemos el siguiente resultado:
data = pd.DataFrame(data = [18, 20, 10, 15, 12, 18], index = index, columns = ["Sales"])
data