Pandas fillna(),其中包含时间序列数据的整个 Dataframe 上上周的值

b09cbbtk  于 2022-11-05  发布在  其他
关注(0)|答案(1)|浏览(152)

我有一些时间序列数据。我需要为某些计算填充空值。我知道我可以使用fillna()和method='ffill'来将空值插补为前一个值。

df.fillna(method='ffill')

我还知道可以使用np.where()和.shift(7)获取特定列的前几周的值:

df['col1'] = np.where(df.col1.isnull(), df.col1.shift(7), df.col1)

有没有办法用.fillna()一次对整个 Dataframe 执行此操作?

b4wnujal

b4wnujal1#

如果我没理解错您的问题,您希望用7天前的值填充NaN。
在这种情况下,只需使用

df = df.fillna(df.shift(7))

其将一次性地对整个 Dataframe 起作用。

相关问题