问题遇到的现象和发生背景
python里分析企业数据集,如果公司类型为民营,则定义新列‘companytype’='民营‘,国企为国企,合资为合资,否则为其他。
问题相关代码,请勿粘贴截图
1、wagedata.loc[~(wagedata['7'].str.contains("民营|国企|合资",na=False)),'companytype']='其他'
2、wagedata.loc[(wagedata['7'].str.contains("民营")),'companytype']='民营'
3、wagedata.loc[(wagedata['7'].str.contains("国企")),'companytype']='国企'
4、wagedata.loc[(wagedata['7'].str.contains("合资")),'companytype']='合资'
运行结果及报错内容
按照上述1 2 3 4运行,没问题,企业类型是对的。
但是,如果把第一行代码放到最后,即运行2 3 4 1,则所有公司类型均为“其他”了。为什么,请教解答一下。
我的解答思路和尝试过的方法
我的理解:1为取反,先执行2 3 4,再执行1,应该也没问题,不知道为什么全变成其他。