1 回答
TA贡献1921条经验 获得超9个赞
你很接近,使用loc你index的结果并分配:
df.loc[df.groupby(level=0).tail(1).index, 'col'] = 100
df
col
level 0 level 1
a t 0
u 1
v 100
b w 3
a 4
c 100
c d 6
j 7
p 100
d k 9
q 10
z 100
这是您的分组结果:
df.groupby(level=0).tail(1)
col
level 0 level 1
a v 2
b c 5
c p 8
d z 11
获取要更改的行的索引.index:
df.groupby(level=0).tail(1).index
MultiIndex([('a', 'v'),
('b', 'c'),
('c', 'p'),
('d', 'z')],
names=['level 0', 'level 1'])
您有索引标签,因此您将需要loc(而不是iloc)来完成最终的分配步骤。
添加回答
举报