亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Python - if str in df.column 輸入 if 語句

Python - if str in df.column 輸入 if 語句

搖曳的薔薇 2022-07-05 19:20:01
基本上我的代碼從配置文件中導入一些配置,用戶可以在其中打開/關閉部分代碼。配置文件看起來像,它是一個 json 文件:條件1:['str1',1] 條件2:['str2',1]字符串是將分配給 df 列的名稱,整數可以是 1 或 0 以打開或關閉部分代碼。在代碼的開頭,如果整數設置為 1,則字符串用于在數據框中創建列。for (k, v) in config_file.items():     if v[1] == 1:        df[v[0]] = np.nan所以現在我只有在條件 1 的整數為 1 時才會有一個名為“str1”的列。在代碼中的某個點,我需要首先驗證兩個條件的整數都設置為 1,然后我需要選擇所有包含值 1 的行。if condition1[1] == 1 or condition2[1] == 1:    if (len(df[df['str1'] == 1]) > 0 or len(df[df['str2'] == 1]) > 0):現在的問題是,如果兩個條件之一設置為 0,比如說條件 1,那么列 df['str2'] 將不會被創建并且 len(df[df['str2'] == 1]) > 0 將引發錯誤。有沒有辦法告訴python僅在列/變量存在時才評估部分條件?非常感謝您的支持。
查看完整描述

1 回答

?
青春有我

TA貢獻1784條經驗 獲得超8個贊

您應該將檢查嵌套在另一個檢查中,以驗證數據框是否有一個名為“str2”的列并處理出現的不同可能性。


您要添加到代碼中的檢查是:


 if 'str2' in df.columns:


     # check df['str2']

     # nested if ...


 elif 'str3' in df.columns:


        #keep going checking conditions or whatever


 else: 


    #last case in your checking loop


查看完整回答
反對 回復 2022-07-05
  • 1 回答
  • 0 關注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號