1

假设我有一个如下所示的 pd DataFrame:

                            price     volume     cat_count 
zipcode      date
91111.0      01/01/2018     10        5          NaN
             02/10/2018     NaN       9          NaN
94312.0      04/04/2018     7         4          6
             02/10/2018     NaN       3          4
96666.0      05/05/2018     NaN       3          14
             02/10/2018     NaN       NaN        8
             07/08/2018     NaN       0          NaN
98432.0      06/08/2018     4         NaN        NaN

假设我有一本字典,其键是邮政编码,其值是附近邮政编码的列表(在它们关键邮政编码的 x 公里内),按它们与关键邮政编码的接近程度排序,最接近的邮政编码首先出现。这本字典看起来像:

nearby_zips = {
     91111.0 : [94312.0],
     94312.0 : [91111.0, 96666.0],
     96666.0 : [94312.0],
     98432.0 : []
}

我怎样才能有效地插入数据,所以如果对于任何列,所有值都是邮政编码索引中的 NaN,找到该列具有非 NaN 值的最近邮政编码,并使用这些值填写所有邮政编码列的 NaN 值。

对于上述示例 DataFrame 的参考输出如下所示:

                            price     volume     cat_count 
zipcode      date
91111.0      01/01/2018     10        5          NaN
             02/10/2018     NaN       9          4
             04/04/2018     NaN       NaN        6
94312.0      04/04/2018     7         4          6
             02/10/2018     NaN       3          4
96666.0      05/05/2018     NaN       3          14
             02/10/2018     NaN       NaN        8
             07/08/2018     NaN       0          NaN
             04/04/2018     7         NaN        NaN
98432.0      06/08/2018     4         NaN        NaN

请注意邮政编码索引 91111.0 和 96666.0 中的数据以及它们的变化方式。

4

0 回答 0