【发布时间】:2019-12-27 13:13:09
【问题描述】:
我的输入数据框如下所示:
df = pd.DataFrame({
'key': [1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2],
'col1': [20, np.nan, np.nan, np.nan, 25, np.nan, np.nan,np.nan, 20, np.nan,np.nan,np.nan,25, np.nan,np.nan, np.nan],
'col2': [np.nan, 'a',np.nan, np.nan, np.nan, 'b', np.nan, np.nan,np.nan, 'c', np.nan, np.nan,np.nan, 'd', np.nan, np.nan],
'col3': [np.nan, np.nan, 'aa', np.nan, np.nan,np.nan,'bb', np.nan,np.nan, np.nan,'cc', np.nan,np.nan, np.nan,'dd', np.nan],
'col4': [np.nan, np.nan, np.nan, 50, np.nan, np.nan, np.nan, 200,np.nan, np.nan, np.nan, 100,np.nan, np.nan, np.nan, 300]
})
输入:
我需要汇总“Key”和“col1”分组的所有列的缺失值。或者基本上用该分组中该列下唯一可用的非空值填充 NAN 值。
我尝试使用 bfill 和 ffill 方法进行 fillna,但它没有正确填充值,因为它从上组或下组中选择可用值(特别是组边界的单元格) 输出应如下所示:
【问题讨论】:
标签: python pandas pandas-groupby