ich eine grundlegende Datenrahmen haben, wie folgt strukturiert:Gruppe Reihen in Pandas Datenrahmen basierend auf komplexen Zustand
Col1
Ind1 Ind2
0 key1 12
key2 35
1 key3 56
key4 24
key5 65
... und eine andere wie folgt aus:
ColA
0 key1
1 else
2 else
3 key3
Was ich brauche ist die Mittelwert von df1, gruppiert basierend darauf, ob Ind2 in df2 ist oder nicht. Das habe ich ohne Erfolg versucht; Die Botschaft lautet "Längen müssen übereinstimmen" - aber natürlich nicht.
df1 = pd.DataFrame({'ind1': [0, 0, 1, 1, 1], 'ind2': ['key1', 'key2', 'key3', 'key4', 'key5'], 'col1': [12, 35, 56, 24, 65]},)
df1.set_index(['ind1', 'ind2'], inplace=True)
df2 = pd.DataFrame({'ColA': ['key1', 'else', 'else', 'key3']})
print (df1.groupby(df1.index.levels[1] in df2.get_values()).mean())
Vielen Dank im Voraus für einen Hinweis!
Genau das, was ich brauchte, vielen Dank! – user7411619