正如您在屏幕截图中看到的,代码列的值与名称列的值相对应。这是因为代码用于项目代码,名称用于项目名称。
如何使用代码列作为对应来填充名称列的缺失值?有什么方法可以解决这个问题吗?
code name countryshortname
212 1 Liberia
2 1 Economic management Tunisia
1211 1 Economic management Tonga
1045 1 Economic management Macedonia, former Yugoslav Republic of
363 1 Cote d'Ivoire
453 1 Economic management Lesotho
784 1 Economic management Tanzania
648 1 Economic management Lao People's Democratic Republic
647 1 Economic management Lao People's Democratic Republic
204 1 Economic management Kyrgyz Republic
205 1 Economic management Kyrgyz Republic
249 1 Economic management Armenia
1437 1 Guatemala
1212 1 Economic management Kenya
1114 1 Honduras
[ScreenShot of Actual Dataframe][1]
[1]: https://i.stack.imgur.com/eq6xt.png
因为您的问题中只有一个代码/名称组合,所以我无法更全面地测试这一点。但是,如果您按代码和名称排序,您应该能够转发填充NaN
值
df['name']=df.sort_values(['code','name'])['name'].fillna(method='ffill')
code name countryshortname
212 1 Economic Liberia
2 1 Economic Tunisia
1211 1 Economic Tonga
1045 1 Economic Macedonia
363 1 Economic Cote
453 1 Economic Lesotho
784 1 Economic Tanzania
648 1 Economic Lao
647 1 Economic Lao
204 1 Economic Kyrgyz
205 1 Economic Kyrgyz
249 1 Economic Armenia
1437 1 Economic Guatemala
1212 1 Economic Kenya
1114 1 Economic Honduras