Ich habe ein pandas.DataFrame
mit einem Multi wie:Einstellen eines Pandas Unterdatenrahmen mit einem Multiindex indiziert
In [298]: pd.DataFrame(index=pd.MultiIndex.from_tuples([['a', 1], ['a', 2], ['b', 1], ['b', 3]]), data={'x': 1})
Out[298]:
x
a 1 1
2 1
b 1 1
3 1
Wenn ich möchte einen Unterdatenrahmen neu zuzuordnen, dh (df.loc['a']
), i eine seltsame Ausgabe:
In [300]: df.loc['a'] = df.loc['a']
In [301]: df
Out[301]:
x
a 1 NaN
2 NaN
b 1 1
3 1
Das Beispiel ist einfach, ich habe offensichtlich die Absicht, eine Neuzuweisung komplizierter zu haben.
Ist das normal? Wie kann ich einen mit einem MultiIndex indizierten Subdatenrahmen neu zuweisen?
Sie können es auf diese Weise tun: 'df.loc [df.index.get_level_values (0) == 'a'] = df' – MaxU