Я хотел бы добавить мультииндекс в мой фрейм данных. Я посмотрел в pandas .pydata [documentation][1]
без какой-либо удачи.
Мой фрейм данных выглядит так, где Имя является индексом, а дата включает скорость для судов:
27/02/2020
Name
MAERSK EDMONTON 19.1
MAERSK EMDEN 0.0
MAERSK ENPING 0.0
MAERSK ESSEN 0.0
MAGLEBY MAERSK 0.1
METTE MAERSK 17.7
MSC AMBITION 0.0
MSC ARIANE 17.4
MSC CAMILLE 0.0
Желаемый результат будет выглядеть следующим образом. Суда принадлежат данному альянсу, в данном случае 2M Alliance.
2M_Alliance
27/02/2020
Name
MAERSK EDMONTON 19.1
MAERSK EMDEN 0.0
MAERSK ENPING 0.0
MAERSK ESSEN 0.0
MAGLEBY MAERSK 0.1
METTE MAERSK 17.7
MSC AMBITION 0.0
MSC ARIANE 17.4
MSC CAMILLE 0.0
Вот что я получил до сих пор.
df_alli = df[df.Name.isin(["MAERSK EMDEN", "METTE MAERSK", "MAGLEBY MAERSK", "MSC ARIANE", "MAERSK EDMONTON", "MAERSK ENPING", "MSC AMBITION", "MSC CAMILLE", "MAERSK ESSEN"])]
df_name = pd.DataFrame()
df_name["Name"] = df_alli["Name"]
df_name[date] = df_alli[date]
#df_name = df_name.set_index("Name")
arrys = [["2M_Alliance"], df_name["Name"]]
s = pd.MultiIndex.from_product(arrys, names=["Alliance", "Name"])
s = pd.Series(df_name[date], index=s)
s = pd.DataFrame(s)
print(s)
Вывод выглядит нормально, но NaN не заполнены, и я не уверен, почему. Выходы:
27/02/2020
Alliance Name
2M_Alliance MAERSK EDMONTON NaN
MAERSK EMDEN NaN
MAERSK ENPING NaN
MAERSK ESSEN NaN
MAGLEBY MAERSK NaN
METTE MAERSK NaN
MSC AMBITION NaN
MSC ARIANE NaN
MSC CAMILLE NaN