使用熊猫更新列中的缺失值

复杂数据

我有一个数据框df,其中两个列是“ city”和“ zip_code”:

df = pd.DataFrame({'city': ['Cambridge','Washington','Miami','Cambridge','Miami',
'Washington'], 'zip_code': ['12345','67891','23457','','','']})

如上所示,特定的城市在其中的一行中包含邮政编码,但是在另一行中的同一城市缺少邮政编码。我想基于其他行中该城市的邮政编码值来填充那些缺失的值。基本上,无论哪里缺少邮政编码,它都会在其他行中检查该城市的邮政编码,如果找到,则填充zip_code的值;如果找不到,则填充'NA'。

如何使用熊猫完成此任务?

博维尔上校

您可以申请:

import numpy as np

df['zip_code'] = df.replace(r'', np.nan).groupby('city')['zip_code'].fillna(method='ffill').fillna(method='bfill')

>>> df
         city zip_code
0   Cambridge    12345
1  Washington    67891
2       Miami    23457
3   Cambridge    12345
4       Miami    23457
5  Washington    67891

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章