我有一个 DataFrame df
包含 i.a.一列表示邮政编码
,一列表示地区
名称。同一行上的邮政编码
和地区
名称形成“现实生活”组合,例如{'邮政编码': '10001', '地区':'北区'}
.
对于某些邮政编码
条目,缺少地区
名称。但是,缺少地区
名称的邮政编码
可能会与其地区
名称一起出现在数据帧的其他位置。即,
| postal code | district |
-----------------------------
| 10001 | North |
| 10002 | West |
| 10001 | missing |
如果邮政编码
缺少地区
名称,我想在DataFrame中搜索与该特定邮政编码
和地区
名称。
如果找到组合且全部相同,我想将缺少的district
名称替换为找到的组合中的district
名称。
如果找到组合,但不完全相同(例如邮政编码重叠两个区),我不想替换。
我该怎么办?
最佳答案
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/