1 回答

TA貢獻1921條經(jīng)驗 獲得超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)來完成最終的分配步驟。
添加回答
舉報