我发现自己有时会迭代地构建一个 bool 值/掩码,比如:
mask = initialize_mask_to_true()
for condition in conditions:
mask = mask & condition
df_masked = pd.loc[mask, my_cols]
条件可能是单独的 bool 掩码列表或比较,如 df[some_col] > someVal 有没有好的方法来做 initialize_mask_to_true()?有时我会做一些感觉很丑的事情,比如:
mask = ~(df.loc[:, df.columns[0]] == np.nan)
这是可行的,因为 something == np.nan 将始终为 false,但感觉有更简洁的方法。
请您参考如下方法:
如果必须保留索引:
mask= pd.DataFrame(True,index=df.index,columns=df.columns)
或
mask= pd.DataFrame(True,index=df.index,columns=[df.columns[0]])
