如何在python中转发填充-9999值?

时间:2017-12-21 19:26:07

标签: python pandas numpy

我有一个pandas数据框,我需要通过忽略-9999值进行绘图。如果我使用ylim,则会在此问题(Working with NaN values in matplotlib

中创建丢弃

我知道这可用于转发填充NAN值:

fillna(method='ffill', limit=1)

但是,我需要填充-9999个值。

怎么做?

3 个答案:

答案 0 :(得分:2)

你的意思是df.loc[df['variable'] == -9999, 'variable'] = np.nan

答案 1 :(得分:0)

这就是您正在寻找的声音:

# Replace all -9999s with NaNs to make it easier to work with
df.replace(to_replace=-9999, value=np.nan, inplace=True)

# forward fill those values
fillna(method='ffill', limit=1)

您的问题修订更新:

在没有看到数据的情况下,根据您对系列图表的期望,熊猫的Series.interpolate's methods可能比填充更有用。

答案 2 :(得分:0)

让'使用maskffill

df.mask(df.eq(-9999)).ffill(limit=1)