Pandas fillna() 对时间序列数据的整个数据帧的上周值
Pandas fillna() with last week's value on entire dataframe for time-series data
我有一些时间序列数据。我需要为某些计算填充空值。我知道我可以将 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() 一次对整个数据帧执行此操作?
如果我对你的问题理解正确,你想用 7 天前的值填充 NaN。
在那种情况下,只需使用
df = df.fillna(df.shift(7))
这将一次性用于整个数据帧。
我有一些时间序列数据。我需要为某些计算填充空值。我知道我可以将 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() 一次对整个数据帧执行此操作?
如果我对你的问题理解正确,你想用 7 天前的值填充 NaN。
在那种情况下,只需使用
df = df.fillna(df.shift(7))
这将一次性用于整个数据帧。