Los pandas se interpolan dentro de un grupo
Tengo un marco de datos con la siguiente información:
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
Me gustaría interpolar los valores en el marco de datos en función de los índices,pero solo dentro de cada grupo de archivos.
Para interpolar, normalmente haría
df = df.interpolate(method="index")
Y al grupo, lo hago
grouped = df.groupby("filename")
Me gustaría que el marco de datos interpolado se vea así:
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
Donde los NaN todavía están presentes en t = 6 ya que son los primeros elementos en el grupo file2.
Sospecho que necesito usar "aplicar", pero no he podido averiguar exactamente cómo ...
grouped.apply(interp1d)
...
TypeError: __init__() takes at least 3 arguments (2 given)
Cualquier ayuda sería apreciada.