erste und letzte Werte in einer Gruppe durch
Ich habe einen Datenrahmendf
df = pd.DataFrame(np.arange(20).reshape(10, -1),
[['a', 'a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'd'],
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']],
['X', 'Y'])
Wie erhalte ich die erste und die letzte Zeile, gruppiert nach der ersten Indexebene?
Ich habe es versuch
df.groupby(level=0).agg(['first', 'last']).stack()
und bekam
X Y
a first 0 1
last 6 7
b first 8 9
last 12 13
c first 14 15
last 16 17
d first 18 19
last 18 19
Das ist so nah an dem, was ich will. Wie kann ich den Index der Ebene 1 beibehalten und stattdessen Folgendes abrufen:
X Y
a a 0 1
d 6 7
b e 8 9
g 12 13
c h 14 15
i 16 17
d j 18 19
j 18 19