第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用列運算符檢查是否通過

使用列運算符檢查是否通過

守著星空守著你 2023-05-16 15:10:52
我不確定我是否可以使用 operators 列來返回一個 pandas 系列,它將根據(jù)它的及格分數(shù)、運算符和實際值來確定某一行的活動是通過還是失敗。數(shù)據(jù)集示例:data={"ID": [1,1,2,2],      "Activity": ["Quiz", "Attendance", "Quiz", "Attendance"],      "Passing Score": [80, 2, 80, 2],      "Operator": [">=", "<=", ">=", "<="],      "Actual": [79, 0, 82, 3]     }data = pd.DataFrame(data)它看起來像什么:ID  Activity    Passing Score   Operator    Actual1   Quiz        80              >=          791   Attendance  2               <=          02   Quiz        80              >=          822   Attendance  2               <=          3我的解決方案:def score(pass_score, operator, actual):    """    pass_score: pandas Series, passing Score    operator: pandas Series, operator    actual: pandas Series, actual Score    """        the_list=[]        for a,b,c in zip(pass_score, operator, actual):        if b == ">=":            the_list.append(c >= a)        elif b == "<=":            the_list.append(c <= a)        mapper={True: "Pass",            False: "Fail"           }        return pd.Series(the_list).map(mapper)data["Peformance Tag"] = score(data["Passing Score"], data["Operator"], data["Actual"])我想要實現(xiàn)的目標(如果可能的話,通過使用字典來縮短我的代碼):operator_map = {">=": >=,                "<=": <=,               }data["Peformance Tag"] =  data[["Passing Score", "Operator", "Actual"]].apply(lambda x: x[0] operator_map[x[1]]  x[2], axis=1)
查看完整描述

1 回答

?
POPMUISE

TA貢獻1765條經(jīng)驗 獲得超5個贊

你可以做:

data[['Passing Score', 'Operator', 'Actual']].astype(str).sum(axis=1).apply(eval)

但說實話,我不會太相信這種編程。我覺得你的數(shù)據(jù)框可以通過兩列以更有意義的方式重塑:

  • 實際測驗

  • 實際出勤率

然后你可以這樣做:

data['Actual_quiz'] =< 80

等等。


查看完整回答
反對 回復 2023-05-16
  • 1 回答
  • 0 關(guān)注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號