Os pandas interpolam dentro de um grupo

Eu tenho um quadro de dados com as seguintes informações:

    filename    val1    val2
t                   
1   file1.csv   5       10
2   file1.csv   NaN     NaN
3   file1.csv   15      20
6   file2.csv   NaN     NaN
7   file2.csv   10      20
8   file2.csv   12      15

Gostaria de interpolar os valores no quadro de dados com base nos índices,mas somente dentro de cada grupo de arquivos.

Para interpolar, eu normalmente faria

df = df.interpolate(method="index")

E para agrupar, eu faço

grouped = df.groupby("filename")

Gostaria que o quadro de dados interpolado estivesse assim:

    filename    val1    val2
t                   
1   file1.csv   5       10
2   file1.csv   10      15
3   file1.csv   15      20
6   file2.csv   NaN     NaN
7   file2.csv   10      20
8   file2.csv   12      15

Onde os NaN ainda estão presentes em t = 6, pois são os primeiros itens no grupo arquivo2.

Eu suspeito que preciso usar "apply", mas não consegui descobrir exatamente como ...

grouped.apply(interp1d)
...
TypeError: __init__() takes at least 3 arguments (2 given)

Qualquer ajuda seria apreciada.