自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

文科生自學(xué)Python/VBA-多條件判斷評(píng)級(jí)

開(kāi)發(fā) 后端
之前的文章分享了如何根據(jù)成績(jī)劃分等級(jí),只涉及到了一個(gè)條件因素,今天在這里給小伙伴們分享一下多條件判斷如何處理,下面通過(guò)一個(gè)有趣的案例進(jìn)行闡述和講解。

Python語(yǔ)言簡(jiǎn)潔生動(dòng),特別適合文科生學(xué)習(xí)入門IT世界,用幾十行代碼就能夠做一個(gè)完整的爬蟲(chóng)腳本,開(kāi)發(fā)效率杠杠的!短時(shí)間內(nèi)即可解決工作和學(xué)習(xí)中碰到的各種棘手問(wèn)題。(本人外語(yǔ)專業(yè)畢業(yè),機(jī)緣巧合愛(ài)上編程,自學(xué)道路曲曲折折,痛并快樂(lè)!)在這里總結(jié)一下自學(xué)Python遇到的難點(diǎn)和重點(diǎn),分享碼過(guò)的代碼和要點(diǎn)總結(jié),希望能夠給初學(xué)者一點(diǎn)啟示和鼓勵(lì),同時(shí)愿意結(jié)交更多大神交流有助提升自己的水平。

[[423498]]

之前的文章分享了如何根據(jù)成績(jī)劃分等級(jí),只涉及到了一個(gè)條件因素,今天在這里給小伙伴們分享一下多條件判斷如何處理,下面通過(guò)一個(gè)有趣的案例進(jìn)行闡述和講解:

截圖如下:

以上是一個(gè)員工考核數(shù)據(jù),需要通過(guò)”性別“和”績(jī)效考核成績(jī)“兩個(gè)字段來(lái)綜合判斷是否獲得全額年終獎(jiǎng),半額年終獎(jiǎng)或無(wú)年終獎(jiǎng),具體標(biāo)準(zhǔn)如下:

男性方面:

  • 大于等于90時(shí)拿全額年終獎(jiǎng),大于等于70時(shí)拿半額年終獎(jiǎng),剩余情況則為無(wú)年終獎(jiǎng)

女性方面:

  • 大于等于85時(shí)拿全額年終獎(jiǎng),大于等于60時(shí)拿半額年終獎(jiǎng),剩余情況則為無(wú)年終獎(jiǎng)

如何用Python根據(jù)以上標(biāo)準(zhǔn)生成正確的字段數(shù)據(jù)呢?接下來(lái)展示一下具體過(guò)程,其實(shí)也是涉及了上次提到的知識(shí)點(diǎn),只是略有不同:

切到指定路徑讀取和檢查數(shù)據(jù)情況:

編寫(xiě)帶兩個(gè)參數(shù)的自定義函數(shù)并用apply生成相應(yīng)字段:

具體結(jié)果如下截圖:

Python代碼如下:

 

  1. import pandas as pd 
  2. import os 
  3. def Set_Work_Path(x): 
  4.     try: 
  5.         os.chdir(x) 
  6.         route = os.getcwd() 
  7.         return route 
  8.     except Exception: 
  9.         print("No Result"
  10. work_path = r"E:\DATA\02AUG21" 
  11. Set_Work_Path(work_path) 
  12. data = pd.read_excel("Sample.xlsm",sheet_name="DATA-Python",header=0,index_col=None) 
  13. print(data) 
  14.  
  15. def Get_Rate(df,x,y): 
  16.     if df[x] == "男" and df[y] >= 90: 
  17.         return "全額年終獎(jiǎng)" 
  18.     elif df[x] == "男" and df[y] >= 70: 
  19.         return "半額年終獎(jiǎng)" 
  20.     elif df[x] == "男" and df[y] < 70: 
  21.         return "無(wú)年終獎(jiǎng)" 
  22.     elif df[x] == "女" and df[y] >= 85: 
  23.         return "全額年終獎(jiǎng)" 
  24.     elif df[x] == "女" and df[y] >= 60: 
  25.         return "半額年終獎(jiǎng)" 
  26.     else
  27.         return "無(wú)年終獎(jiǎng)" 
  28. data["評(píng)級(jí)"] = data.apply(Get_Rate,axis=1,args=("性別","績(jī)效考核成績(jī)")) 
  29. print(data) 

實(shí)際上有更多維度的情況可以舉一反三,即增加參數(shù)數(shù)量并套用相同方法,下面也講一下如何通過(guò)VBA在EXCEL世界里直接解決相關(guān)問(wèn)題:

編寫(xiě)自定義函數(shù)并套用直接生成相應(yīng)字段:

VBA代碼如下:

 

  1. Function JudgeRate(x, y) 
  2. Application.ScreenUpdating = False 
  3. If x = "男" And y >= 90 Then 
  4.     JudgeRate = "全額年終獎(jiǎng)" 
  5. ElseIf x = "男" And y >= 70 Then 
  6.     JudgeRate = "半額年終獎(jiǎng)" 
  7. ElseIf x = "男" And y < 70 Then 
  8.     JudgeRate = "無(wú)年終獎(jiǎng)" 
  9. ElseIf x = "女" And y >= 85 Then 
  10.     JudgeRate = "全額年終獎(jiǎng)" 
  11. ElseIf x = "女" And y >= 60 Then 
  12.     JudgeRate = "半額年終獎(jiǎng)" 
  13. Else
  14.     JudgeRate = "無(wú)年終獎(jiǎng)" 
  15. End If 
  16. Application.ScreenUpdating = True 
  17. End Function

 

 

責(zé)任編輯:未麗燕 來(lái)源: 今日頭條
相關(guān)推薦

2015-03-20 09:19:45

2019-04-03 10:24:28

詞云圖工具詞云

2019-02-27 09:56:06

碼農(nóng)科技開(kāi)發(fā)

2015-07-21 15:24:49

文科生成長(zhǎng)過(guò)程

2020-08-14 08:01:53

人工智能數(shù)據(jù)科學(xué)技術(shù)

2018-01-26 14:24:15

華為云

2017-11-07 11:40:36

大數(shù)據(jù)數(shù)據(jù)分析文科生

2020-05-20 09:27:32

編程數(shù)學(xué)Python

2016-07-25 14:49:45

服務(wù)器

2014-04-23 11:22:34

開(kāi)發(fā)技術(shù)周刊

2025-04-21 09:14:00

2009-09-15 09:33:46

linq多條件查詢

2009-09-15 11:34:47

Linq多條件查詢

2024-01-10 18:07:27

Rust語(yǔ)言多線程

2009-06-29 09:03:31

Hibernate多條

2010-11-09 15:18:37

SQL Server多

2009-09-15 17:45:34

Linq多條件

2010-09-25 16:42:45

sql語(yǔ)句

2012-09-26 10:43:07

IT程序員編程

2010-05-06 14:11:55

Oracle多條件查詢
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)