問題
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]