使用Pandas进行布尔索引

时间:2014-04-11 06:29:02

标签: python-2.7 pandas

我有Pandas Dataframe,其中不同的列具有不同数量的数据点,索引是时间序列。我想返回一个新的DataFrame行,只有我感兴趣的两列都有值。我尝试使用Boolean indexing,但新DataFrame不包含任何暗示没有匹配的值。但事实并非如此。

这是我使用的代码,它不会产生任何错误,但新DataFrame为空。

sve2_all.resample('D', how='mean')
sve2_hg = sve2_all[(sve2_all['Rim_GWT'] == True) & (sve2_all[' Q l/s'] == True)]
sve2_hg.describe()

1 个答案:

答案 0 :(得分:2)

使用== True不检查“有值”,但这些值的值为True(与1相同)。也就是说,您只查看sve2_all['Rim_GWT'] == 1.0sve2_all[' Q l/s'] == 1.0的行(这不会令人惊讶,因为这不会是行)。

也许您想使用pd.notnull检查不是NaN:

sve2_all[sve2_all['Rim_GWT'].notnull() & sve2_all[' Q l/s'].notnull()]