程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python裡loc函數取反問題

編輯:Python
問題遇到的現象和發生背景

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,應該也沒問題,不知道為什麼全變成其他。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved