【发布时间】:2016-08-31 15:07:42
【问题描述】:
我有一个包含以下信息的数据框:
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 组中的第一项。
我怀疑我需要使用“apply”,但无法弄清楚具体如何...
grouped.apply(interp1d)
...
TypeError: __init__() takes at least 3 arguments (2 given)
任何帮助将不胜感激。
【问题讨论】:
标签: python pandas group-by interpolation