我有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()
答案 0 :(得分:2)
使用== True
不检查“有值”,但这些值的值为True(与1相同)。也就是说,您只查看sve2_all['Rim_GWT'] == 1.0
和sve2_all[' Q l/s'] == 1.0
的行(这不会令人惊讶,因为这不会是行)。
也许您想使用pd.notnull检查不是NaN:
sve2_all[sve2_all['Rim_GWT'].notnull() & sve2_all[' Q l/s'].notnull()]