我有一个pandas数据框,我需要通过忽略-9999值进行绘图。如果我使用ylim
,则会在此问题(Working with NaN values in matplotlib)
我知道这可用于转发填充NAN值:
fillna(method='ffill', limit=1)
但是,我需要填充-9999个值。
怎么做?
答案 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)
让'使用mask
和ffill
:
df.mask(df.eq(-9999)).ffill(limit=1)