1
我有一個名爲df
的熊貓數據框,其中包含一個名爲_type
的列和一個名爲avg_engaged_time
的列。我想看看_type
是0
和avg_engaged_time
是在第5和第95百分位之間的行。這裏是我的嘗試至今:基於_type
熊貓:一個系列的真值不明確
首先,我過濾器:
original = result_df[result_df['_type'] == 0.0]
然後我找到百分位數:
low_original = original['_avg_engaged_time'].quantile(0.05)
high_original = original['_avg_engaged_time'].quantile(0.95)
然後我嘗試基於這些百分位數進行過濾:
original[original['_avg_engaged_time'] > low_original and original['_avg_engaged_time'] < high_original]
不幸的是,我得到這個錯誤:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
我只想使用基本布爾索引,以篩選出具有比第5百分位超過95個百分點的_avg_engaged_time
小於或大於行...
任何想法如何解決?
謝謝!
嗯,我這樣做,並得到'TypeError:無法比較dtyped [float64]數組與標量類型[布爾]' – bclayman
可能只是一個錯誤的括號從我身邊。再試一次 – 5agado