猿问

处理缺失值(条件插补)熊猫

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


我有这个 df


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不缺失,则插入缺失值


我有这个解决方案,当 del 有值时只保留 df,我在连接后进行插值


但我想避免串联和太多的代码和变量行


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])


所需的输出:


index                   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.5        0.6   0.6       0.0

2018-06-25 12:59:00    0.6        0.7   0.7       0.0

2018-06-25 13:00:00    0.6        0.8   0.6       0.0

2018-06-25 13:01:00    0.7        0.9   0.7       0.0 

2018-06-25 13:02:00    0.6        0.9   0.6       0.0

一柱一柱封小洞的故事


宝慕林4294392
浏览 232回答 1
1回答

慕姐8265434

用于.loc仅在'del'不为空的情况下分配插值:df.loc[df['del'].notnull()] = df.loc[df['del'].notnull()].interpolate(method='time')                        a     b    c  del2018-06-25 12:51:00   NaN   NaN  NaN  1.02018-06-25 12:52:00   NaN   NaN  NaN  NaN2018-06-25 12:53:00   NaN   NaN  NaN  NaN2018-06-25 12:54:00   NaN   NaN  NaN  NaN2018-06-25 12:55:00   NaN   NaN  NaN  NaN2018-06-25 12:56:00   NaN   NaN  NaN  NaN2018-06-25 12:57:00   NaN   NaN  NaN  NaN2018-06-25 12:58:00  0.50  0.60  0.6  0.02018-06-25 12:59:00  0.55  0.70  0.6  0.02018-06-25 13:00:00  0.60  0.80  0.6  0.02018-06-25 13:01:00  0.60  0.85  0.6  0.02018-06-25 13:02:00  0.60  0.90  0.6  0.0
随时随地看视频慕课网APP

相关分类

Python
我要回答