我有一个数据框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] 删除。
我来说两句