python - 使用第二列作为对应关系,查找已在同一列中的类别填充缺失类别值的快速方法
问题描述
正如您在屏幕截图中看到的,代码列的值与名称列的值相对应。那是因为代码是项目代码,名称是项目名称。
如何使用代码列作为对应来填充名称列的缺失值?有什么方法可以解决这个问题吗?
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
推荐阅读
- r - 对数回归中估计系数的方向
- python - 将名称中带有日期的列转换为Python中的单独行
- java - AsyncTask API 在 Android 11 中已弃用。有哪些替代方案?
- sql - Typeorm - 按多对多关系查找条目
- shell - 从 shell 脚本将国家代码转换为国家名称
- python - 多个文件的 3D 散点图,每个文件具有唯一的颜色
- java - apache java log4j如何显示消息控制台和文件
- python - pip 从 requirements.txt 安装文件时出错
- javascript - 尝试在 xslt (Java JDK 8) 中调用 javascript 函数时出错
- c++ - 专为无鼠标使用而设计的菜单。最好的实施方式是什么?