处理缺失值(条件归因)熊猫

时间:2019-04-04 15:08:03

标签: python pandas numpy interpolation missing-data

我在处理丢失的数据时遇到了障碍

我有这个df

 XCreatePixmap(display, d, width, height, depth)
  Display *display;
  Drawable d;
  unsigned int width, height;
  unsigned int depth;

我想做什么

如果不缺少index a b c del 2018-06-25 12:51:00 NaN NaN NaN 1 2018-06-25 12:52:00 NaN NaN NaN NaN 2018-06-25 12:53:00 NaN NaN NaN NaN 2018-06-25 12:54:00 NaN NaN NaN NaN 2018-06-25 12:55:00 NaN NaN NaN NaN 2018-06-25 12:56:00 NaN NaN NaN NaN 2018-06-25 12:57:00 NaN NaN NaN NaN 2018-06-25 12:58:00 0.5 0.6 0.6 0.0 2018-06-25 12:59:00 NaN NaN NaN 0.0 2018-06-25 13:00:00 0.6 0.8 0.6 0.0 2018-06-25 13:01:00 NaN NaN NaN 0.0 2018-06-25 13:02:00 0.6 0.9 0.6 0.0 的值,则插入缺失值

我有这种解决方案,当del具有值时仅保留df,并在连接后进行插值

但我要避免串联以及过多的代码和变量行

del

所需的输出:

dfs= df.loc[df['del'].notnull(),:]
dfs.interpolate(method='time')

dfs1= df.loc[df['del'].isnull(),:]

dfs= pd.concat([dfs,dfs1], axis=1, sort=True,  join_axes=[df.index])

只逐列闭合小孔的故事

谢谢<<< / p>

1 个答案:

答案 0 :(得分:0)

仅在.loc不为null的情况下,使用'del'分配插值:

df.loc[df['del'].notnull()] = df.loc[df['del'].notnull()].interpolate(method='time')

                        a     b    c  del
2018-06-25 12:51:00   NaN   NaN  NaN  1.0
2018-06-25 12:52:00   NaN   NaN  NaN  NaN
2018-06-25 12:53:00   NaN   NaN  NaN  NaN
2018-06-25 12:54:00   NaN   NaN  NaN  NaN
2018-06-25 12:55:00   NaN   NaN  NaN  NaN
2018-06-25 12:56:00   NaN   NaN  NaN  NaN
2018-06-25 12:57:00   NaN   NaN  NaN  NaN
2018-06-25 12:58:00  0.50  0.60  0.6  0.0
2018-06-25 12:59:00  0.55  0.70  0.6  0.0
2018-06-25 13:00:00  0.60  0.80  0.6  0.0
2018-06-25 13:01:00  0.60  0.85  0.6  0.0
2018-06-25 13:02:00  0.60  0.90  0.6  0.0