如何在熊猫DataFrame中用当年的第一个值替换NaN?

时间:2018-10-03 17:04:41

标签: python pandas fillna

我有一个类似以下的数据框,其中某些名字(AC)的值是一年的第一个月。

df
     date      name   value
0   201601       A     3
1   201607       A    NaN
2   201612       A    NaN
3   201601       B    NaN
4   201607       B    NaN
5   201612       B    NaN
6   201601       C     7
7   201607       C    NaN
8   201612       C    NaN

对于这个名字,我想用一年的第一个月的值替换NaN。虽然对于名称我没有此信息,但我想保留NaN值。最后,我想要一个类似以下的数据框。

df
     date      name   value
0   201601       A     3
1   201607       A     3
2   201612       A     3
3   201601       B    NaN
4   201607       B    NaN
5   201612       B    NaN
6   201601       C     7
7   201607       C     7
8   201612       C     7

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的操作,它将根据您的组进行填充

df["value"] = df.groupby(["name"])["value"].fillna(method="ffill")