python-Pandas DataFrame列值重新映射
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-Pandas DataFrame列值重新映射,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含782字,纯文字阅读大概需要2分钟。
内容图文
假设以下DataFrame:
df = pd.DataFrame({'id': [8,16,23,8,23], 'count': [5,8,7,1,2]}, columns=['id', 'count'])
id count
0 8 5
1 16 8
2 23 7
3 8 1
4 23 2
…是否有一些Pandas魔术可以让我重新映射ID,以使ID顺序排列?寻找类似的结果:
id count
0 0 5
1 1 8
2 2 7
3 0 1
4 2 2
原始ID [8,16,23]被重新映射为[0,1,2]
注意:重新映射不必保持ID的原始顺序.例如,下面的重新映射也可以:[8,16,23]-> [2,0,1],但重新映射后的id空间应该是连续的.
我目前正在使用for循环和dict来跟踪重新映射,但是感觉熊猫可能有更好的解决方案.
解决方法:
使用factorize:
>>> df
id count
0 8 5
1 16 8
2 23 7
3 8 1
4 23 2
>>> df['id'] = pd.factorize(df['id'])[0]
>>> df
id count
0 0 5
1 1 8
2 2 7
3 0 1
4 2 2
内容总结
以上是互联网集市为您收集整理的python-Pandas DataFrame列值重新映射全部内容,希望文章能够帮你解决python-Pandas DataFrame列值重新映射所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。