Hej mam nastepujace DataFrame
'y
import pandas as pd
import numpy as np
index = pd.MultiIndex.from_product([["A", "B"], ["AA", "BB"]])
columns = ["X", "Y"]
df = pd.DataFrame([[1,2],[5,8],[1,2],[5,8]], index = index, columns = columns)
dfSmall = pd.DataFrame([[1,4], [5,6]], index = ["AAA", "BBB"], columns = columns)
Czyli pierwszy ma dwa poziomy indeksu, a drugi ma jeden poziom. Chcialbym "wsadzic" dfSmall
do df
w taki sposob ze dfSmall
bedzie tworzyl 3 poziom indeksu dla wiersza ("A", "BB")
. Czyli chcialbym zrobic trzeci poziom indeksu dla df
i dodac dwa wiersze ("A", "BB", "AAA")
oraz ("A", "BB", "BBB")
ktore beda mialy wartosci z dfSmall
. Probowalem zrobic tak:
df["3rd level"] = ""
df.set_index("3rd level", append=True, inplace=True)
df.loc[("A", "BB", ["AAA", "BBB"])] = dfSmall
ale ostatnia linia zwraca error. Cel jest taki ze maja rozne mniejsze dataframey chcialbym powsadzac ich wartoci do wiekszego dataframe. Jak moge to zrobic w najbardziej elegancki sposob?