我有一个包含i.a的DataFrame dfpostal codes列和district名称列。同一行上的postal codedistrict名称形成“现实生活”组合,例如{'postal code': '10001', 'district':'North'}

对于某些postal code条目,缺少district名称。但是,缺少postal code名称的district可能会结合其district名称出现在数据框中的其他位置。即

| postal code |   district  |
-----------------------------
|   10001     |    North    |
|   10002     |    West     |
|   10001     |   missing   |


如果postal code缺少district名称,我想搜索具有特定postal codedistrict名称的组合的DataFrame。

如果找到了组合,并且它们都是相同的,我想用找到的组合中的district名称替换缺少的district名称。
如果找到了组合,但组合不尽相同(例如postal code重叠两个区),我不想替换。

我该怎么办?

最佳答案

df = df.replace('missing', np.nan).sort_values(['postal code', 'district'])
df.groupby('postal code').ffill().sort_index()

   postal code district
0        10001    North
1        10002     West
2        10001    North


我进行排序是因为np.nan将放置在末尾并准备向前填充。

关于python - Pandas :根据数据框中的组合填充缺失值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43063633/

10-10 00:14