我有一个包含i.a的DataFrame df
。 postal codes
列和district
名称列。同一行上的postal code
和district
名称形成“现实生活”组合,例如{'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 code
和district
名称的组合的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/