ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any()

問題

Pandas 在做條件篩選的時候報了一個錯誤
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()

可能原因

  • 目標series可能存在空值(null),導致比對出現問題
  • 連接多個篩選條件的時候用了 and 而不是 &

解決辦法

  • 先對目標條件列進行處理,fillna,將null值填充爲默認值
  • 用 & 符號連接多個條件
  • 例子
    df1['日期'] = df1['日期'].fillna('')
    df1['人數'] = df1['人數'].fillna(0)
    con2 = df1['人數'] >= 1000
    con2 = df1['日期'] <= end_date
    record_df = df1[con1 & con2]
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章