熊猫在groupby内插

读写器

我有一个包含以下信息的数据框:

    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

我想根据索引对数据帧中的值进行插值,但只能在每个文件组中进行插值

插值,我通常会做

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

为了分组,我愿意

grouped = df.groupby("filename")

我希望插值的数据帧看起来像这样:

    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

NaN仍然存在于t = 6的位置,因为它们是file2组中的第一项。

我怀疑我需要使用“应用”,但是还无法确切地知道如何...

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

任何帮助,将不胜感激。

亚力山大
>>> df.groupby('filename').apply(lambda group: group.interpolate(method='index'))
    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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章