如何解决根据值的范围分配一个类别作为新列python
我有一段R代码,我试图弄清楚如何在Python熊猫中进行操作。 它需要一个名为INDUST_CODE的列,并检查其值以根据值的范围分配一个类别作为新列。请问我如何在python中做类似的事情?
industry_index <- full_table_update %>%
mutate(industry = case_when(
INDUST_CODE < 1000 ~ 'Military_service',INDUST_CODE < 1500 & INDUST_CODE >= 1000 ~ 'Public_service',INDUST_CODE < 2000 & INDUST_CODE >= 1500 ~ 'Private_sector',INDUST_CODE >= 2000 ~ 'Others'
)) %>%
select(industry)
解决方法
您可以使用pandas.cut
将其组织到符合您示例的垃圾箱中。
df = pd.DataFrame([500,1000,1001,1560,1500,2000,2300,7,1499],columns=['INDUST_CODE'])
INDUST_CODE
0 500
1 1000
2 1001
3 1560
4 1500
5 2000
6 2300
7 7
8 1499
df['Categories'] = pd.cut(df['INDUST_CODE'],[0,999,1499,1999,100000],labels=['Military_service','Public_service','Private_sector','Others'])
INDUST_CODE Categories
0 500 Military_service
1 1000 Public_service
2 1001 Public_service
3 1560 Private_sector
4 1500 Private_sector
5 2000 Others
6 2300 Others
7 7 Military_service
8 1499 Public_service
Categories (4,object): [Military_service < Public_service < Private_sector < Others]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。