我有以下带有更多数字列的df。我现在想对数据框中的所有列进行前向填充,但按 id 分组。
id date number number2
1 2001 4 11
1 2002 4 45
1 2003 NaN 13
2 2001 7 NaN
2 2002 8 2
结果应如下所示:
id date number number2
1 2001 4 11
1 2002 4 45
1 2003 4 13
2 2001 7 NaN
2 2002 8 2
我尝试了以下命令:
df= df.groupby("id").fillna(method="ffill", limit=2)
但是,这会引发 KeyError “isin”。使用以下命令仅填充一列就可以了,但是如何有效地向前填充按 isin 分组的整个 df?
df["number"]= df.groupby("id")["number"].fillna(method="ffill", limit=2)